U-Net for Semantic Segmentation and LULC Mapping¶

image.png

Let's install the necessary libraries and then import them.

In [ ]:
!pip install geoai-py
!pip install ipysheet
!pip install rasterio
Collecting geoai-py
  Downloading geoai_py-0.8.1-py2.py3-none-any.whl.metadata (6.7 kB)
Requirement already satisfied: albumentations in /usr/local/lib/python3.11/dist-packages (from geoai-py) (2.0.8)
Collecting buildingregulariser (from geoai-py)
  Downloading buildingregulariser-0.2.2-py3-none-any.whl.metadata (6.9 kB)
Collecting contextily (from geoai-py)
  Downloading contextily-1.6.2-py3-none-any.whl.metadata (2.9 kB)
Requirement already satisfied: geopandas in /usr/local/lib/python3.11/dist-packages (from geoai-py) (1.0.1)
Requirement already satisfied: huggingface_hub in /usr/local/lib/python3.11/dist-packages (from geoai-py) (0.33.2)
Collecting jupyter-server-proxy (from geoai-py)
  Downloading jupyter_server_proxy-4.4.0-py3-none-any.whl.metadata (8.7 kB)
Collecting leafmap (from geoai-py)
  Downloading leafmap-0.48.6-py2.py3-none-any.whl.metadata (16 kB)
Collecting localtileserver (from geoai-py)
  Downloading localtileserver-0.10.6-py3-none-any.whl.metadata (5.2 kB)
Collecting mapclassify (from geoai-py)
  Downloading mapclassify-2.9.0-py3-none-any.whl.metadata (3.1 kB)
Collecting maplibre (from geoai-py)
  Downloading maplibre-0.3.4-py3-none-any.whl.metadata (3.9 kB)
Requirement already satisfied: opencv-python-headless in /usr/local/lib/python3.11/dist-packages (from geoai-py) (4.11.0.86)
Collecting overturemaps (from geoai-py)
  Downloading overturemaps-0.15.0-py3-none-any.whl.metadata (4.0 kB)
Collecting planetary-computer (from geoai-py)
  Downloading planetary_computer-1.0.0-py3-none-any.whl.metadata (7.4 kB)
Collecting pystac-client (from geoai-py)
  Downloading pystac_client-0.8.6-py3-none-any.whl.metadata (3.0 kB)
Collecting rasterio (from geoai-py)
  Downloading rasterio-1.4.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (9.1 kB)
Collecting rioxarray (from geoai-py)
  Downloading rioxarray-0.19.0-py3-none-any.whl.metadata (5.5 kB)
Requirement already satisfied: scikit-image in /usr/local/lib/python3.11/dist-packages (from geoai-py) (0.25.2)
Requirement already satisfied: scikit-learn in /usr/local/lib/python3.11/dist-packages (from geoai-py) (1.6.1)
Requirement already satisfied: torch in /usr/local/lib/python3.11/dist-packages (from geoai-py) (2.6.0+cu124)
Collecting torchgeo (from geoai-py)
  Downloading torchgeo-0.7.1-py3-none-any.whl.metadata (18 kB)
Collecting torchinfo (from geoai-py)
  Downloading torchinfo-1.8.0-py3-none-any.whl.metadata (21 kB)
Requirement already satisfied: tqdm in /usr/local/lib/python3.11/dist-packages (from geoai-py) (4.67.1)
Requirement already satisfied: transformers in /usr/local/lib/python3.11/dist-packages (from geoai-py) (4.53.0)
Requirement already satisfied: numpy>=1.24.4 in /usr/local/lib/python3.11/dist-packages (from albumentations->geoai-py) (2.0.2)
Requirement already satisfied: scipy>=1.10.0 in /usr/local/lib/python3.11/dist-packages (from albumentations->geoai-py) (1.15.3)
Requirement already satisfied: PyYAML in /usr/local/lib/python3.11/dist-packages (from albumentations->geoai-py) (6.0.2)
Requirement already satisfied: pydantic>=2.9.2 in /usr/local/lib/python3.11/dist-packages (from albumentations->geoai-py) (2.11.7)
Requirement already satisfied: albucore==0.0.24 in /usr/local/lib/python3.11/dist-packages (from albumentations->geoai-py) (0.0.24)
Requirement already satisfied: stringzilla>=3.10.4 in /usr/local/lib/python3.11/dist-packages (from albucore==0.0.24->albumentations->geoai-py) (3.12.5)
Requirement already satisfied: simsimd>=5.9.2 in /usr/local/lib/python3.11/dist-packages (from albucore==0.0.24->albumentations->geoai-py) (6.4.9)
Requirement already satisfied: pyogrio>=0.7.2 in /usr/local/lib/python3.11/dist-packages (from geopandas->geoai-py) (0.11.0)
Requirement already satisfied: packaging in /usr/local/lib/python3.11/dist-packages (from geopandas->geoai-py) (24.2)
Requirement already satisfied: pandas>=1.4.0 in /usr/local/lib/python3.11/dist-packages (from geopandas->geoai-py) (2.2.2)
Requirement already satisfied: pyproj>=3.3.0 in /usr/local/lib/python3.11/dist-packages (from geopandas->geoai-py) (3.7.1)
Requirement already satisfied: shapely>=2.0.0 in /usr/local/lib/python3.11/dist-packages (from geopandas->geoai-py) (2.1.1)
Requirement already satisfied: geopy in /usr/local/lib/python3.11/dist-packages (from contextily->geoai-py) (2.4.1)
Requirement already satisfied: matplotlib in /usr/local/lib/python3.11/dist-packages (from contextily->geoai-py) (3.10.0)
Collecting mercantile (from contextily->geoai-py)
  Downloading mercantile-1.2.1-py3-none-any.whl.metadata (4.8 kB)
Requirement already satisfied: pillow in /usr/local/lib/python3.11/dist-packages (from contextily->geoai-py) (11.2.1)
Requirement already satisfied: requests in /usr/local/lib/python3.11/dist-packages (from contextily->geoai-py) (2.32.3)
Requirement already satisfied: joblib in /usr/local/lib/python3.11/dist-packages (from contextily->geoai-py) (1.5.1)
Requirement already satisfied: xyzservices in /usr/local/lib/python3.11/dist-packages (from contextily->geoai-py) (2025.4.0)
Requirement already satisfied: filelock in /usr/local/lib/python3.11/dist-packages (from huggingface_hub->geoai-py) (3.18.0)
Requirement already satisfied: fsspec>=2023.5.0 in /usr/local/lib/python3.11/dist-packages (from huggingface_hub->geoai-py) (2025.3.2)
Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.11/dist-packages (from huggingface_hub->geoai-py) (4.14.0)
Requirement already satisfied: hf-xet<2.0.0,>=1.1.2 in /usr/local/lib/python3.11/dist-packages (from huggingface_hub->geoai-py) (1.1.5)
Requirement already satisfied: aiohttp in /usr/local/lib/python3.11/dist-packages (from jupyter-server-proxy->geoai-py) (3.11.15)
Collecting jupyter-server>=1.24.0 (from jupyter-server-proxy->geoai-py)
  Downloading jupyter_server-2.16.0-py3-none-any.whl.metadata (8.5 kB)
Collecting simpervisor>=1.0.0 (from jupyter-server-proxy->geoai-py)
  Downloading simpervisor-1.0.0-py3-none-any.whl.metadata (4.3 kB)
Requirement already satisfied: tornado>=6.1.0 in /usr/local/lib/python3.11/dist-packages (from jupyter-server-proxy->geoai-py) (6.4.2)
Requirement already satisfied: traitlets>=5.1.0 in /usr/local/lib/python3.11/dist-packages (from jupyter-server-proxy->geoai-py) (5.7.1)
Collecting anywidget (from leafmap->geoai-py)
  Downloading anywidget-0.9.18-py3-none-any.whl.metadata (8.9 kB)
Requirement already satisfied: bqplot in /usr/local/lib/python3.11/dist-packages (from leafmap->geoai-py) (0.12.45)
Requirement already satisfied: duckdb in /usr/local/lib/python3.11/dist-packages (from leafmap->geoai-py) (1.2.2)
Requirement already satisfied: folium in /usr/local/lib/python3.11/dist-packages (from leafmap->geoai-py) (0.19.7)
Requirement already satisfied: gdown in /usr/local/lib/python3.11/dist-packages (from leafmap->geoai-py) (5.2.0)
Collecting geojson (from leafmap->geoai-py)
  Downloading geojson-3.2.0-py3-none-any.whl.metadata (16 kB)
Requirement already satisfied: ipyevents in /usr/local/lib/python3.11/dist-packages (from leafmap->geoai-py) (2.0.2)
Requirement already satisfied: ipyfilechooser in /usr/local/lib/python3.11/dist-packages (from leafmap->geoai-py) (0.6.0)
Requirement already satisfied: ipyleaflet in /usr/local/lib/python3.11/dist-packages (from leafmap->geoai-py) (0.20.0)
Collecting ipyvuetify (from leafmap->geoai-py)
  Downloading ipyvuetify-1.11.3-py2.py3-none-any.whl.metadata (7.5 kB)
Requirement already satisfied: ipywidgets in /usr/local/lib/python3.11/dist-packages (from leafmap->geoai-py) (7.7.1)
Requirement already satisfied: plotly in /usr/local/lib/python3.11/dist-packages (from leafmap->geoai-py) (5.24.1)
Requirement already satisfied: python-box in /usr/local/lib/python3.11/dist-packages (from leafmap->geoai-py) (7.3.2)
Requirement already satisfied: scooby in /usr/local/lib/python3.11/dist-packages (from leafmap->geoai-py) (0.10.1)
Collecting whiteboxgui (from leafmap->geoai-py)
  Downloading whiteboxgui-2.3.0-py2.py3-none-any.whl.metadata (5.7 kB)
Requirement already satisfied: click in /usr/local/lib/python3.11/dist-packages (from localtileserver->geoai-py) (8.2.1)
Requirement already satisfied: flask<4,>=2.0.0 in /usr/local/lib/python3.11/dist-packages (from localtileserver->geoai-py) (3.1.1)
Collecting Flask-Caching (from localtileserver->geoai-py)
  Downloading Flask_Caching-2.3.1-py3-none-any.whl.metadata (2.2 kB)
Collecting flask-cors (from localtileserver->geoai-py)
  Downloading flask_cors-6.0.1-py3-none-any.whl.metadata (5.3 kB)
Collecting flask-restx>=1.3.0 (from localtileserver->geoai-py)
  Downloading flask_restx-1.3.0-py2.py3-none-any.whl.metadata (9.3 kB)
Collecting rio-tiler (from localtileserver->geoai-py)
  Downloading rio_tiler-7.8.1-py3-none-any.whl.metadata (12 kB)
Collecting rio-cogeo (from localtileserver->geoai-py)
  Downloading rio_cogeo-5.4.2-py3-none-any.whl.metadata (4.7 kB)
Collecting server-thread (from localtileserver->geoai-py)
  Downloading server_thread-0.3.0-py3-none-any.whl.metadata (5.3 kB)
Requirement already satisfied: werkzeug in /usr/local/lib/python3.11/dist-packages (from localtileserver->geoai-py) (3.1.3)
Requirement already satisfied: networkx>=3.2 in /usr/local/lib/python3.11/dist-packages (from mapclassify->geoai-py) (3.5)
Requirement already satisfied: threadpoolctl>=3.1.0 in /usr/local/lib/python3.11/dist-packages (from scikit-learn->geoai-py) (3.6.0)
Requirement already satisfied: branca in /usr/local/lib/python3.11/dist-packages (from maplibre->geoai-py) (0.8.1)
Collecting eval-type-backport (from maplibre->geoai-py)
  Downloading eval_type_backport-0.2.2-py3-none-any.whl.metadata (2.2 kB)
Requirement already satisfied: jinja2>=3.1.6 in /usr/local/lib/python3.11/dist-packages (from maplibre->geoai-py) (3.1.6)
Requirement already satisfied: pyarrow>=15.0.2 in /usr/local/lib/python3.11/dist-packages (from overturemaps->geoai-py) (18.1.0)
Collecting pystac>=1.0.0 (from planetary-computer->geoai-py)
  Downloading pystac-1.13.0-py3-none-any.whl.metadata (4.7 kB)
Requirement already satisfied: pytz>=2020.5 in /usr/local/lib/python3.11/dist-packages (from planetary-computer->geoai-py) (2025.2)
Collecting python-dotenv (from planetary-computer->geoai-py)
  Downloading python_dotenv-1.1.1-py3-none-any.whl.metadata (24 kB)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.11/dist-packages (from pystac-client->geoai-py) (2.9.0.post0)
Collecting affine (from rasterio->geoai-py)
  Downloading affine-2.4.0-py3-none-any.whl.metadata (4.0 kB)
Requirement already satisfied: attrs in /usr/local/lib/python3.11/dist-packages (from rasterio->geoai-py) (25.3.0)
Requirement already satisfied: certifi in /usr/local/lib/python3.11/dist-packages (from rasterio->geoai-py) (2025.6.15)
Collecting cligj>=0.5 (from rasterio->geoai-py)
  Downloading cligj-0.7.2-py3-none-any.whl.metadata (5.0 kB)
Collecting click-plugins (from rasterio->geoai-py)
  Downloading click_plugins-1.1.1.2-py2.py3-none-any.whl.metadata (6.5 kB)
Requirement already satisfied: pyparsing in /usr/local/lib/python3.11/dist-packages (from rasterio->geoai-py) (3.2.3)
Requirement already satisfied: xarray>=2024.7.0 in /usr/local/lib/python3.11/dist-packages (from rioxarray->geoai-py) (2025.3.1)
Requirement already satisfied: imageio!=2.35.0,>=2.33 in /usr/local/lib/python3.11/dist-packages (from scikit-image->geoai-py) (2.37.0)
Requirement already satisfied: tifffile>=2022.8.12 in /usr/local/lib/python3.11/dist-packages (from scikit-image->geoai-py) (2025.6.11)
Requirement already satisfied: lazy-loader>=0.4 in /usr/local/lib/python3.11/dist-packages (from scikit-image->geoai-py) (0.4)
Collecting nvidia-cuda-nvrtc-cu12==12.4.127 (from torch->geoai-py)
  Downloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cuda-runtime-cu12==12.4.127 (from torch->geoai-py)
  Downloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cuda-cupti-cu12==12.4.127 (from torch->geoai-py)
  Downloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch->geoai-py)
  Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cublas-cu12==12.4.5.8 (from torch->geoai-py)
  Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cufft-cu12==11.2.1.3 (from torch->geoai-py)
  Downloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-curand-cu12==10.3.5.147 (from torch->geoai-py)
  Downloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cusolver-cu12==11.6.1.9 (from torch->geoai-py)
  Downloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cusparse-cu12==12.3.1.170 (from torch->geoai-py)
  Downloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)
Requirement already satisfied: nvidia-cusparselt-cu12==0.6.2 in /usr/local/lib/python3.11/dist-packages (from torch->geoai-py) (0.6.2)
Requirement already satisfied: nvidia-nccl-cu12==2.21.5 in /usr/local/lib/python3.11/dist-packages (from torch->geoai-py) (2.21.5)
Requirement already satisfied: nvidia-nvtx-cu12==12.4.127 in /usr/local/lib/python3.11/dist-packages (from torch->geoai-py) (12.4.127)
Collecting nvidia-nvjitlink-cu12==12.4.127 (from torch->geoai-py)
  Downloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Requirement already satisfied: triton==3.2.0 in /usr/local/lib/python3.11/dist-packages (from torch->geoai-py) (3.2.0)
Requirement already satisfied: sympy==1.13.1 in /usr/local/lib/python3.11/dist-packages (from torch->geoai-py) (1.13.1)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.11/dist-packages (from sympy==1.13.1->torch->geoai-py) (1.3.0)
Requirement already satisfied: einops>=0.3 in /usr/local/lib/python3.11/dist-packages (from torchgeo->geoai-py) (0.8.1)
Collecting fiona>=1.8.22 (from torchgeo->geoai-py)
  Downloading fiona-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (56 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.6/56.6 kB 4.7 MB/s eta 0:00:00
Collecting kornia>=0.7.4 (from torchgeo->geoai-py)
  Downloading kornia-0.8.1-py2.py3-none-any.whl.metadata (17 kB)
Collecting lightly!=1.4.26,>=1.4.5 (from torchgeo->geoai-py)
  Downloading lightly-1.5.21-py3-none-any.whl.metadata (37 kB)
Collecting lightning!=2.3.*,!=2.5.0,>=2 (from lightning[pytorch-extra]!=2.3.*,!=2.5.0,>=2->torchgeo->geoai-py)
  Downloading lightning-2.5.2-py3-none-any.whl.metadata (38 kB)
Collecting rtree>=1.0.1 (from torchgeo->geoai-py)
  Downloading rtree-1.4.0-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.1 kB)
Collecting segmentation-models-pytorch>=0.5 (from torchgeo->geoai-py)
  Downloading segmentation_models_pytorch-0.5.0-py3-none-any.whl.metadata (17 kB)
Requirement already satisfied: timm>=0.9.2 in /usr/local/lib/python3.11/dist-packages (from torchgeo->geoai-py) (1.0.16)
Collecting torchmetrics>=1.2 (from torchgeo->geoai-py)
  Downloading torchmetrics-1.7.4-py3-none-any.whl.metadata (21 kB)
Requirement already satisfied: torchvision>=0.15.1 in /usr/local/lib/python3.11/dist-packages (from torchgeo->geoai-py) (0.21.0+cu124)
Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.11/dist-packages (from transformers->geoai-py) (2024.11.6)
Requirement already satisfied: tokenizers<0.22,>=0.21 in /usr/local/lib/python3.11/dist-packages (from transformers->geoai-py) (0.21.2)
Requirement already satisfied: safetensors>=0.4.3 in /usr/local/lib/python3.11/dist-packages (from transformers->geoai-py) (0.5.3)
Requirement already satisfied: blinker>=1.9.0 in /usr/local/lib/python3.11/dist-packages (from flask<4,>=2.0.0->localtileserver->geoai-py) (1.9.0)
Requirement already satisfied: itsdangerous>=2.2.0 in /usr/local/lib/python3.11/dist-packages (from flask<4,>=2.0.0->localtileserver->geoai-py) (2.2.0)
Requirement already satisfied: markupsafe>=2.1.1 in /usr/local/lib/python3.11/dist-packages (from flask<4,>=2.0.0->localtileserver->geoai-py) (3.0.2)
Collecting aniso8601>=0.82 (from flask-restx>=1.3.0->localtileserver->geoai-py)
  Downloading aniso8601-10.0.1-py2.py3-none-any.whl.metadata (23 kB)
Requirement already satisfied: jsonschema in /usr/local/lib/python3.11/dist-packages (from flask-restx>=1.3.0->localtileserver->geoai-py) (4.24.0)
Requirement already satisfied: importlib-resources in /usr/local/lib/python3.11/dist-packages (from flask-restx>=1.3.0->localtileserver->geoai-py) (6.5.2)
Requirement already satisfied: anyio>=3.1.0 in /usr/local/lib/python3.11/dist-packages (from jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (4.9.0)
Requirement already satisfied: argon2-cffi>=21.1 in /usr/local/lib/python3.11/dist-packages (from jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (25.1.0)
Collecting jupyter-client>=7.4.4 (from jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py)
  Downloading jupyter_client-8.6.3-py3-none-any.whl.metadata (8.3 kB)
Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in /usr/local/lib/python3.11/dist-packages (from jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (5.8.1)
Collecting jupyter-events>=0.11.0 (from jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py)
  Downloading jupyter_events-0.12.0-py3-none-any.whl.metadata (5.8 kB)
Collecting jupyter-server-terminals>=0.4.4 (from jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py)
  Downloading jupyter_server_terminals-0.5.3-py3-none-any.whl.metadata (5.6 kB)
Requirement already satisfied: nbconvert>=6.4.4 in /usr/local/lib/python3.11/dist-packages (from jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (7.16.6)
Requirement already satisfied: nbformat>=5.3.0 in /usr/local/lib/python3.11/dist-packages (from jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (5.10.4)
Collecting overrides>=5.0 (from jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py)
  Downloading overrides-7.7.0-py3-none-any.whl.metadata (5.8 kB)
Requirement already satisfied: prometheus-client>=0.9 in /usr/local/lib/python3.11/dist-packages (from jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (0.22.1)
Requirement already satisfied: pyzmq>=24 in /usr/local/lib/python3.11/dist-packages (from jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (24.0.1)
Requirement already satisfied: send2trash>=1.8.2 in /usr/local/lib/python3.11/dist-packages (from jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (1.8.3)
Requirement already satisfied: terminado>=0.8.3 in /usr/local/lib/python3.11/dist-packages (from jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (0.18.1)
Requirement already satisfied: websocket-client>=1.7 in /usr/local/lib/python3.11/dist-packages (from jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (1.8.0)
Collecting kornia_rs>=0.1.9 (from kornia>=0.7.4->torchgeo->geoai-py)
  Downloading kornia_rs-0.1.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
Collecting hydra-core>=1.0.0 (from lightly!=1.4.26,>=1.4.5->torchgeo->geoai-py)
  Downloading hydra_core-1.3.2-py3-none-any.whl.metadata (5.5 kB)
Collecting lightly_utils~=0.0.0 (from lightly!=1.4.26,>=1.4.5->torchgeo->geoai-py)
  Downloading lightly_utils-0.0.2-py3-none-any.whl.metadata (1.4 kB)
Requirement already satisfied: six>=1.10 in /usr/local/lib/python3.11/dist-packages (from lightly!=1.4.26,>=1.4.5->torchgeo->geoai-py) (1.17.0)
Collecting pytorch_lightning>=1.0.4 (from lightly!=1.4.26,>=1.4.5->torchgeo->geoai-py)
  Downloading pytorch_lightning-2.5.2-py3-none-any.whl.metadata (21 kB)
Requirement already satisfied: urllib3>=1.25.3 in /usr/local/lib/python3.11/dist-packages (from lightly!=1.4.26,>=1.4.5->torchgeo->geoai-py) (2.4.0)
Collecting aenum>=3.1.11 (from lightly!=1.4.26,>=1.4.5->torchgeo->geoai-py)
  Downloading aenum-3.1.16-py3-none-any.whl.metadata (3.8 kB)
Collecting lightning-utilities<2.0,>=0.10.0 (from lightning!=2.3.*,!=2.5.0,>=2->lightning[pytorch-extra]!=2.3.*,!=2.5.0,>=2->torchgeo->geoai-py)
  Downloading lightning_utilities-0.14.3-py3-none-any.whl.metadata (5.6 kB)
Collecting bitsandbytes<1.0,>=0.45.2 (from lightning[pytorch-extra]!=2.3.*,!=2.5.0,>=2->torchgeo->geoai-py)
  Downloading bitsandbytes-0.46.1-py3-none-manylinux_2_24_x86_64.whl.metadata (10 kB)
Collecting jsonargparse<5.0,>=4.39.0 (from jsonargparse[jsonnet,signatures]<5.0,>=4.39.0; extra == "pytorch-extra"->lightning[pytorch-extra]!=2.3.*,!=2.5.0,>=2->torchgeo->geoai-py)
  Downloading jsonargparse-4.40.0-py3-none-any.whl.metadata (13 kB)
Requirement already satisfied: omegaconf<3.0,>=2.2.3 in /usr/local/lib/python3.11/dist-packages (from lightning[pytorch-extra]!=2.3.*,!=2.5.0,>=2->torchgeo->geoai-py) (2.3.0)
Requirement already satisfied: rich<15.0,>=12.3.0 in /usr/local/lib/python3.11/dist-packages (from lightning[pytorch-extra]!=2.3.*,!=2.5.0,>=2->torchgeo->geoai-py) (13.9.4)
Collecting tensorboardX<3.0,>=2.2 (from lightning[pytorch-extra]!=2.3.*,!=2.5.0,>=2->torchgeo->geoai-py)
  Downloading tensorboardx-2.6.4-py3-none-any.whl.metadata (6.2 kB)
Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib->contextily->geoai-py) (1.3.2)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.11/dist-packages (from matplotlib->contextily->geoai-py) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.11/dist-packages (from matplotlib->contextily->geoai-py) (4.58.4)
Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib->contextily->geoai-py) (1.4.8)
Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.11/dist-packages (from pandas>=1.4.0->geopandas->geoai-py) (2025.2)
Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.9.2->albumentations->geoai-py) (0.7.0)
Requirement already satisfied: pydantic-core==2.33.2 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.9.2->albumentations->geoai-py) (2.33.2)
Requirement already satisfied: typing-inspection>=0.4.0 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.9.2->albumentations->geoai-py) (0.4.1)
Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests->contextily->geoai-py) (3.4.2)
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/dist-packages (from requests->contextily->geoai-py) (3.10)
Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->jupyter-server-proxy->geoai-py) (2.6.1)
Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.11/dist-packages (from aiohttp->jupyter-server-proxy->geoai-py) (1.3.2)
Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.11/dist-packages (from aiohttp->jupyter-server-proxy->geoai-py) (1.7.0)
Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.11/dist-packages (from aiohttp->jupyter-server-proxy->geoai-py) (6.6.3)
Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->jupyter-server-proxy->geoai-py) (0.3.2)
Requirement already satisfied: yarl<2.0,>=1.17.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->jupyter-server-proxy->geoai-py) (1.20.1)
Collecting psygnal>=0.8.1 (from anywidget->leafmap->geoai-py)
  Downloading psygnal-0.14.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (6.0 kB)
Requirement already satisfied: ipykernel>=4.5.1 in /usr/local/lib/python3.11/dist-packages (from ipywidgets->leafmap->geoai-py) (6.17.1)
Requirement already satisfied: ipython-genutils~=0.2.0 in /usr/local/lib/python3.11/dist-packages (from ipywidgets->leafmap->geoai-py) (0.2.0)
Requirement already satisfied: widgetsnbextension~=3.6.0 in /usr/local/lib/python3.11/dist-packages (from ipywidgets->leafmap->geoai-py) (3.6.10)
Requirement already satisfied: ipython>=4.0.0 in /usr/local/lib/python3.11/dist-packages (from ipywidgets->leafmap->geoai-py) (7.34.0)
Requirement already satisfied: jupyterlab-widgets>=1.0.0 in /usr/local/lib/python3.11/dist-packages (from ipywidgets->leafmap->geoai-py) (3.0.15)
Requirement already satisfied: traittypes>=0.0.6 in /usr/local/lib/python3.11/dist-packages (from bqplot->leafmap->geoai-py) (0.2.1)
Collecting cachelib>=0.9.0 (from Flask-Caching->localtileserver->geoai-py)
  Downloading cachelib-0.13.0-py3-none-any.whl.metadata (2.0 kB)
Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.11/dist-packages (from gdown->leafmap->geoai-py) (4.13.4)
Requirement already satisfied: geographiclib<3,>=1.52 in /usr/local/lib/python3.11/dist-packages (from geopy->contextily->geoai-py) (2.0)
Requirement already satisfied: jupyter-leaflet<0.21,>=0.20 in /usr/local/lib/python3.11/dist-packages (from ipyleaflet->leafmap->geoai-py) (0.20.0)
Collecting ipyvue<2,>=1.7 (from ipyvuetify->leafmap->geoai-py)
  Downloading ipyvue-1.11.2-py2.py3-none-any.whl.metadata (1.1 kB)
Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.11/dist-packages (from plotly->leafmap->geoai-py) (8.5.0)
Collecting morecantile<7.0,>=5.0 (from rio-cogeo->localtileserver->geoai-py)
  Downloading morecantile-6.2.0-py3-none-any.whl.metadata (7.3 kB)
Requirement already satisfied: cachetools in /usr/local/lib/python3.11/dist-packages (from rio-tiler->localtileserver->geoai-py) (5.5.2)
Collecting color-operations (from rio-tiler->localtileserver->geoai-py)
  Downloading color_operations-0.2.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.3 kB)
Requirement already satisfied: httpx in /usr/local/lib/python3.11/dist-packages (from rio-tiler->localtileserver->geoai-py) (0.28.1)
Requirement already satisfied: numexpr in /usr/local/lib/python3.11/dist-packages (from rio-tiler->localtileserver->geoai-py) (2.11.0)
Requirement already satisfied: uvicorn in /usr/local/lib/python3.11/dist-packages (from server-thread->localtileserver->geoai-py) (0.35.0)
Requirement already satisfied: ipytree in /usr/local/lib/python3.11/dist-packages (from whiteboxgui->leafmap->geoai-py) (0.2.2)
Collecting whitebox (from whiteboxgui->leafmap->geoai-py)
  Downloading whitebox-2.3.6-py2.py3-none-any.whl.metadata (11 kB)
Requirement already satisfied: sniffio>=1.1 in /usr/local/lib/python3.11/dist-packages (from anyio>=3.1.0->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (1.3.1)
Requirement already satisfied: argon2-cffi-bindings in /usr/local/lib/python3.11/dist-packages (from argon2-cffi>=21.1->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (21.2.0)
Requirement already satisfied: antlr4-python3-runtime==4.9.* in /usr/local/lib/python3.11/dist-packages (from hydra-core>=1.0.0->lightly!=1.4.26,>=1.4.5->torchgeo->geoai-py) (4.9.3)
Requirement already satisfied: debugpy>=1.0 in /usr/local/lib/python3.11/dist-packages (from ipykernel>=4.5.1->ipywidgets->leafmap->geoai-py) (1.8.0)
Requirement already satisfied: matplotlib-inline>=0.1 in /usr/local/lib/python3.11/dist-packages (from ipykernel>=4.5.1->ipywidgets->leafmap->geoai-py) (0.1.7)
Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.11/dist-packages (from ipykernel>=4.5.1->ipywidgets->leafmap->geoai-py) (1.6.0)
Requirement already satisfied: psutil in /usr/local/lib/python3.11/dist-packages (from ipykernel>=4.5.1->ipywidgets->leafmap->geoai-py) (5.9.5)
Requirement already satisfied: setuptools>=18.5 in /usr/local/lib/python3.11/dist-packages (from ipython>=4.0.0->ipywidgets->leafmap->geoai-py) (75.2.0)
Collecting jedi>=0.16 (from ipython>=4.0.0->ipywidgets->leafmap->geoai-py)
  Downloading jedi-0.19.2-py2.py3-none-any.whl.metadata (22 kB)
Requirement already satisfied: decorator in /usr/local/lib/python3.11/dist-packages (from ipython>=4.0.0->ipywidgets->leafmap->geoai-py) (4.4.2)
Requirement already satisfied: pickleshare in /usr/local/lib/python3.11/dist-packages (from ipython>=4.0.0->ipywidgets->leafmap->geoai-py) (0.7.5)
Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/lib/python3.11/dist-packages (from ipython>=4.0.0->ipywidgets->leafmap->geoai-py) (3.0.51)
Requirement already satisfied: pygments in /usr/local/lib/python3.11/dist-packages (from ipython>=4.0.0->ipywidgets->leafmap->geoai-py) (2.19.2)
Requirement already satisfied: backcall in /usr/local/lib/python3.11/dist-packages (from ipython>=4.0.0->ipywidgets->leafmap->geoai-py) (0.2.0)
Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.11/dist-packages (from ipython>=4.0.0->ipywidgets->leafmap->geoai-py) (4.9.0)
Requirement already satisfied: docstring-parser>=0.15 in /usr/local/lib/python3.11/dist-packages (from jsonargparse[jsonnet,signatures]<5.0,>=4.39.0; extra == "pytorch-extra"->lightning[pytorch-extra]!=2.3.*,!=2.5.0,>=2->torchgeo->geoai-py) (0.16)
Collecting typeshed-client>=2.3.0 (from jsonargparse[jsonnet,signatures]<5.0,>=4.39.0; extra == "pytorch-extra"->lightning[pytorch-extra]!=2.3.*,!=2.5.0,>=2->torchgeo->geoai-py)
  Downloading typeshed_client-2.7.0-py3-none-any.whl.metadata (7.9 kB)
Collecting jsonnet>=0.21.0 (from jsonargparse[jsonnet,signatures]<5.0,>=4.39.0; extra == "pytorch-extra"->lightning[pytorch-extra]!=2.3.*,!=2.5.0,>=2->torchgeo->geoai-py)
  Downloading jsonnet-0.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (449 bytes)
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/local/lib/python3.11/dist-packages (from jsonschema->flask-restx>=1.3.0->localtileserver->geoai-py) (2025.4.1)
Requirement already satisfied: referencing>=0.28.4 in /usr/local/lib/python3.11/dist-packages (from jsonschema->flask-restx>=1.3.0->localtileserver->geoai-py) (0.36.2)
Requirement already satisfied: rpds-py>=0.7.1 in /usr/local/lib/python3.11/dist-packages (from jsonschema->flask-restx>=1.3.0->localtileserver->geoai-py) (0.26.0)
Requirement already satisfied: platformdirs>=2.5 in /usr/local/lib/python3.11/dist-packages (from jupyter-core!=5.0.*,>=4.12->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (4.3.8)
Collecting python-json-logger>=2.0.4 (from jupyter-events>=0.11.0->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py)
  Downloading python_json_logger-3.3.0-py3-none-any.whl.metadata (4.0 kB)
Collecting rfc3339-validator (from jupyter-events>=0.11.0->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py)
  Downloading rfc3339_validator-0.1.4-py2.py3-none-any.whl.metadata (1.5 kB)
Collecting rfc3986-validator>=0.1.1 (from jupyter-events>=0.11.0->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py)
  Downloading rfc3986_validator-0.1.1-py2.py3-none-any.whl.metadata (1.7 kB)
Requirement already satisfied: bleach!=5.0.0 in /usr/local/lib/python3.11/dist-packages (from bleach[css]!=5.0.0->nbconvert>=6.4.4->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (6.2.0)
Requirement already satisfied: defusedxml in /usr/local/lib/python3.11/dist-packages (from nbconvert>=6.4.4->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (0.7.1)
Requirement already satisfied: jupyterlab-pygments in /usr/local/lib/python3.11/dist-packages (from nbconvert>=6.4.4->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (0.3.0)
Requirement already satisfied: mistune<4,>=2.0.3 in /usr/local/lib/python3.11/dist-packages (from nbconvert>=6.4.4->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (3.1.3)
Requirement already satisfied: nbclient>=0.5.0 in /usr/local/lib/python3.11/dist-packages (from nbconvert>=6.4.4->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (0.10.2)
Requirement already satisfied: pandocfilters>=1.4.1 in /usr/local/lib/python3.11/dist-packages (from nbconvert>=6.4.4->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (1.5.1)
Requirement already satisfied: fastjsonschema>=2.15 in /usr/local/lib/python3.11/dist-packages (from nbformat>=5.3.0->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (2.21.1)
Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.11/dist-packages (from rich<15.0,>=12.3.0->lightning[pytorch-extra]!=2.3.*,!=2.5.0,>=2->torchgeo->geoai-py) (3.0.0)
Requirement already satisfied: protobuf>=3.20 in /usr/local/lib/python3.11/dist-packages (from tensorboardX<3.0,>=2.2->lightning[pytorch-extra]!=2.3.*,!=2.5.0,>=2->torchgeo->geoai-py) (5.29.5)
Requirement already satisfied: ptyprocess in /usr/local/lib/python3.11/dist-packages (from terminado>=0.8.3->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (0.7.0)
Requirement already satisfied: notebook>=4.4.1 in /usr/local/lib/python3.11/dist-packages (from widgetsnbextension~=3.6.0->ipywidgets->leafmap->geoai-py) (6.5.7)
Requirement already satisfied: soupsieve>1.2 in /usr/local/lib/python3.11/dist-packages (from beautifulsoup4->gdown->leafmap->geoai-py) (2.7)
Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.11/dist-packages (from httpx->rio-tiler->localtileserver->geoai-py) (1.0.9)
Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.11/dist-packages (from httpcore==1.*->httpx->rio-tiler->localtileserver->geoai-py) (0.16.0)
Requirement already satisfied: PySocks!=1.5.7,>=1.5.6 in /usr/local/lib/python3.11/dist-packages (from requests[socks]->gdown->leafmap->geoai-py) (1.7.1)
Requirement already satisfied: webencodings in /usr/local/lib/python3.11/dist-packages (from bleach!=5.0.0->bleach[css]!=5.0.0->nbconvert>=6.4.4->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (0.5.1)
Requirement already satisfied: tinycss2<1.5,>=1.1.0 in /usr/local/lib/python3.11/dist-packages (from bleach[css]!=5.0.0->nbconvert>=6.4.4->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (1.4.0)
Requirement already satisfied: parso<0.9.0,>=0.8.4 in /usr/local/lib/python3.11/dist-packages (from jedi>=0.16->ipython>=4.0.0->ipywidgets->leafmap->geoai-py) (0.8.4)
Collecting fqdn (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py)
  Downloading fqdn-1.5.1-py3-none-any.whl.metadata (1.4 kB)
Collecting isoduration (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py)
  Downloading isoduration-20.11.0-py3-none-any.whl.metadata (5.7 kB)
Requirement already satisfied: jsonpointer>1.13 in /usr/local/lib/python3.11/dist-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (3.0.0)
Collecting uri-template (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py)
  Downloading uri_template-1.3.0-py3-none-any.whl.metadata (8.8 kB)
Requirement already satisfied: webcolors>=24.6.0 in /usr/local/lib/python3.11/dist-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (24.11.1)
Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.11/dist-packages (from markdown-it-py>=2.2.0->rich<15.0,>=12.3.0->lightning[pytorch-extra]!=2.3.*,!=2.5.0,>=2->torchgeo->geoai-py) (0.1.2)
Collecting jupyter-client>=7.4.4 (from jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py)
  Downloading jupyter_client-7.4.9-py3-none-any.whl.metadata (8.5 kB)
Requirement already satisfied: nbclassic>=0.4.7 in /usr/local/lib/python3.11/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets->leafmap->geoai-py) (1.3.1)
Requirement already satisfied: entrypoints in /usr/local/lib/python3.11/dist-packages (from jupyter-client>=7.4.4->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (0.4)
Requirement already satisfied: wcwidth in /usr/local/lib/python3.11/dist-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython>=4.0.0->ipywidgets->leafmap->geoai-py) (0.2.13)
Requirement already satisfied: cffi>=1.0.1 in /usr/local/lib/python3.11/dist-packages (from argon2-cffi-bindings->argon2-cffi>=21.1->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (1.17.1)
Requirement already satisfied: pycparser in /usr/local/lib/python3.11/dist-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi>=21.1->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py) (2.22)
Requirement already satisfied: notebook-shim>=0.2.3 in /usr/local/lib/python3.11/dist-packages (from nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets->leafmap->geoai-py) (0.2.4)
Collecting arrow>=0.15.0 (from isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py)
  Downloading arrow-1.3.0-py3-none-any.whl.metadata (7.5 kB)
Collecting types-python-dateutil>=2.8.10 (from arrow>=0.15.0->isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server>=1.24.0->jupyter-server-proxy->geoai-py)
  Downloading types_python_dateutil-2.9.0.20250708-py3-none-any.whl.metadata (1.9 kB)
Downloading geoai_py-0.8.1-py2.py3-none-any.whl (163 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 163.3/163.3 kB 7.5 MB/s eta 0:00:00
Downloading buildingregulariser-0.2.2-py3-none-any.whl (19 kB)
Downloading contextily-1.6.2-py3-none-any.whl (17 kB)
Downloading jupyter_server_proxy-4.4.0-py3-none-any.whl (37 kB)
Downloading leafmap-0.48.6-py2.py3-none-any.whl (568 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 568.1/568.1 kB 21.9 MB/s eta 0:00:00
Downloading localtileserver-0.10.6-py3-none-any.whl (17.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 17.1/17.1 MB 89.8 MB/s eta 0:00:00
Downloading mapclassify-2.9.0-py3-none-any.whl (286 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 286.7/286.7 kB 24.3 MB/s eta 0:00:00
Downloading maplibre-0.3.4-py3-none-any.whl (1.4 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 68.7 MB/s eta 0:00:00
Downloading overturemaps-0.15.0-py3-none-any.whl (9.9 kB)
Downloading planetary_computer-1.0.0-py3-none-any.whl (14 kB)
Downloading pystac_client-0.8.6-py3-none-any.whl (41 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.4/41.4 kB 3.3 MB/s eta 0:00:00
Downloading rasterio-1.4.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 22.2/22.2 MB 100.2 MB/s eta 0:00:00
Downloading rioxarray-0.19.0-py3-none-any.whl (62 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.2/62.2 kB 5.5 MB/s eta 0:00:00
Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl (363.4 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 363.4/363.4 MB 3.2 MB/s eta 0:00:00
Downloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (13.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.8/13.8 MB 124.9 MB/s eta 0:00:00
Downloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (24.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.6/24.6 MB 93.8 MB/s eta 0:00:00
Downloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (883 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 883.7/883.7 kB 58.2 MB/s eta 0:00:00
Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 664.8/664.8 MB 2.4 MB/s eta 0:00:00
Downloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl (211.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 211.5/211.5 MB 5.4 MB/s eta 0:00:00
Downloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl (56.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 MB 44.1 MB/s eta 0:00:00
Downloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl (127.9 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 127.9/127.9 MB 19.5 MB/s eta 0:00:00
Downloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl (207.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 207.5/207.5 MB 4.0 MB/s eta 0:00:00
Downloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (21.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 21.1/21.1 MB 108.0 MB/s eta 0:00:00
Downloading torchgeo-0.7.1-py3-none-any.whl (605 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 605.3/605.3 kB 44.7 MB/s eta 0:00:00
Downloading torchinfo-1.8.0-py3-none-any.whl (23 kB)
Downloading cligj-0.7.2-py3-none-any.whl (7.1 kB)
Downloading fiona-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 17.3/17.3 MB 116.9 MB/s eta 0:00:00
Downloading click_plugins-1.1.1.2-py2.py3-none-any.whl (11 kB)
Downloading flask_restx-1.3.0-py2.py3-none-any.whl (2.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.8/2.8 MB 93.4 MB/s eta 0:00:00
Downloading jupyter_server-2.16.0-py3-none-any.whl (386 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 386.9/386.9 kB 33.4 MB/s eta 0:00:00
Downloading kornia-0.8.1-py2.py3-none-any.whl (1.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 65.3 MB/s eta 0:00:00
Downloading lightly-1.5.21-py3-none-any.whl (855 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 855.8/855.8 kB 48.6 MB/s eta 0:00:00
Downloading lightning-2.5.2-py3-none-any.whl (821 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 821.1/821.1 kB 56.2 MB/s eta 0:00:00
Downloading pystac-1.13.0-py3-none-any.whl (206 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 206.8/206.8 kB 19.7 MB/s eta 0:00:00
Downloading rtree-1.4.0-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (541 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 541.1/541.1 kB 43.1 MB/s eta 0:00:00
Downloading segmentation_models_pytorch-0.5.0-py3-none-any.whl (154 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 154.8/154.8 kB 16.6 MB/s eta 0:00:00
Downloading simpervisor-1.0.0-py3-none-any.whl (8.3 kB)
Downloading torchmetrics-1.7.4-py3-none-any.whl (963 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 963.5/963.5 kB 61.6 MB/s eta 0:00:00
Downloading affine-2.4.0-py3-none-any.whl (15 kB)
Downloading anywidget-0.9.18-py3-none-any.whl (220 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 220.7/220.7 kB 22.9 MB/s eta 0:00:00
Downloading eval_type_backport-0.2.2-py3-none-any.whl (5.8 kB)
Downloading Flask_Caching-2.3.1-py3-none-any.whl (28 kB)
Downloading flask_cors-6.0.1-py3-none-any.whl (13 kB)
Downloading geojson-3.2.0-py3-none-any.whl (15 kB)
Downloading ipyvuetify-1.11.3-py2.py3-none-any.whl (6.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.3/6.3 MB 118.8 MB/s eta 0:00:00
Downloading mercantile-1.2.1-py3-none-any.whl (14 kB)
Downloading python_dotenv-1.1.1-py3-none-any.whl (20 kB)
Downloading rio_cogeo-5.4.2-py3-none-any.whl (21 kB)
Downloading rio_tiler-7.8.1-py3-none-any.whl (269 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 269.1/269.1 kB 27.0 MB/s eta 0:00:00
Downloading server_thread-0.3.0-py3-none-any.whl (6.6 kB)
Downloading whiteboxgui-2.3.0-py2.py3-none-any.whl (108 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 108.6/108.6 kB 12.5 MB/s eta 0:00:00
Downloading aenum-3.1.16-py3-none-any.whl (165 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 165.6/165.6 kB 19.6 MB/s eta 0:00:00
Downloading aniso8601-10.0.1-py2.py3-none-any.whl (52 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.8/52.8 kB 5.6 MB/s eta 0:00:00
Downloading bitsandbytes-0.46.1-py3-none-manylinux_2_24_x86_64.whl (72.9 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 72.9/72.9 MB 35.9 MB/s eta 0:00:00
Downloading cachelib-0.13.0-py3-none-any.whl (20 kB)
Downloading hydra_core-1.3.2-py3-none-any.whl (154 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 154.5/154.5 kB 15.9 MB/s eta 0:00:00
Downloading ipyvue-1.11.2-py2.py3-none-any.whl (2.7 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.7/2.7 MB 104.6 MB/s eta 0:00:00
Downloading jsonargparse-4.40.0-py3-none-any.whl (224 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 224.3/224.3 kB 22.4 MB/s eta 0:00:00
Downloading jupyter_events-0.12.0-py3-none-any.whl (19 kB)
Downloading jupyter_server_terminals-0.5.3-py3-none-any.whl (13 kB)
Downloading kornia_rs-0.1.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.8/2.8 MB 78.1 MB/s eta 0:00:00
Downloading lightly_utils-0.0.2-py3-none-any.whl (6.4 kB)
Downloading lightning_utilities-0.14.3-py3-none-any.whl (28 kB)
Downloading morecantile-6.2.0-py3-none-any.whl (49 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 49.5/49.5 kB 5.2 MB/s eta 0:00:00
Downloading overrides-7.7.0-py3-none-any.whl (17 kB)
Downloading psygnal-0.14.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (837 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 837.4/837.4 kB 61.6 MB/s eta 0:00:00
Downloading pytorch_lightning-2.5.2-py3-none-any.whl (825 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 825.4/825.4 kB 62.3 MB/s eta 0:00:00
Downloading tensorboardx-2.6.4-py3-none-any.whl (87 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 87.2/87.2 kB 9.1 MB/s eta 0:00:00
Downloading color_operations-0.2.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (195 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 195.2/195.2 kB 19.4 MB/s eta 0:00:00
Downloading whitebox-2.3.6-py2.py3-none-any.whl (74 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 74.0/74.0 kB 8.0 MB/s eta 0:00:00
Downloading jedi-0.19.2-py2.py3-none-any.whl (1.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 80.3 MB/s eta 0:00:00
Downloading jsonnet-0.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.5/6.5 MB 102.0 MB/s eta 0:00:00
Downloading jupyter_client-7.4.9-py3-none-any.whl (133 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.5/133.5 kB 13.1 MB/s eta 0:00:00
Downloading python_json_logger-3.3.0-py3-none-any.whl (15 kB)
Downloading rfc3986_validator-0.1.1-py2.py3-none-any.whl (4.2 kB)
Downloading typeshed_client-2.7.0-py3-none-any.whl (624 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 624.4/624.4 kB 47.2 MB/s eta 0:00:00
Downloading rfc3339_validator-0.1.4-py2.py3-none-any.whl (3.5 kB)
Downloading fqdn-1.5.1-py3-none-any.whl (9.1 kB)
Downloading isoduration-20.11.0-py3-none-any.whl (11 kB)
Downloading uri_template-1.3.0-py3-none-any.whl (11 kB)
Downloading arrow-1.3.0-py3-none-any.whl (66 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 66.4/66.4 kB 7.2 MB/s eta 0:00:00
Downloading types_python_dateutil-2.9.0.20250708-py3-none-any.whl (17 kB)
Installing collected packages: jsonnet, aniso8601, aenum, whitebox, uri-template, typeshed-client, types-python-dateutil, torchinfo, tensorboardX, simpervisor, rtree, rfc3986-validator, rfc3339-validator, python-json-logger, python-dotenv, psygnal, overrides, nvidia-nvjitlink-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, mercantile, lightning-utilities, lightly_utils, kornia_rs, jsonargparse, jedi, geojson, fqdn, eval-type-backport, color-operations, cligj, click-plugins, cachelib, affine, server-thread, rasterio, pystac, overturemaps, nvidia-cusparse-cu12, nvidia-cudnn-cu12, jupyter-server-terminals, jupyter-client, hydra-core, fiona, arrow, nvidia-cusolver-cu12, morecantile, maplibre, mapclassify, isoduration, flask-cors, Flask-Caching, contextily, rioxarray, rio-tiler, rio-cogeo, flask-restx, buildingregulariser, torchmetrics, pystac-client, localtileserver, kornia, jupyter-events, bitsandbytes, pytorch_lightning, planetary-computer, segmentation-models-pytorch, lightning, lightly, jupyter-server, jupyter-server-proxy, torchgeo, ipyvue, anywidget, whiteboxgui, ipyvuetify, leafmap, geoai-py
  Attempting uninstall: nvidia-nvjitlink-cu12
    Found existing installation: nvidia-nvjitlink-cu12 12.5.82
    Uninstalling nvidia-nvjitlink-cu12-12.5.82:
      Successfully uninstalled nvidia-nvjitlink-cu12-12.5.82
  Attempting uninstall: nvidia-curand-cu12
    Found existing installation: nvidia-curand-cu12 10.3.6.82
    Uninstalling nvidia-curand-cu12-10.3.6.82:
      Successfully uninstalled nvidia-curand-cu12-10.3.6.82
  Attempting uninstall: nvidia-cufft-cu12
    Found existing installation: nvidia-cufft-cu12 11.2.3.61
    Uninstalling nvidia-cufft-cu12-11.2.3.61:
      Successfully uninstalled nvidia-cufft-cu12-11.2.3.61
  Attempting uninstall: nvidia-cuda-runtime-cu12
    Found existing installation: nvidia-cuda-runtime-cu12 12.5.82
    Uninstalling nvidia-cuda-runtime-cu12-12.5.82:
      Successfully uninstalled nvidia-cuda-runtime-cu12-12.5.82
  Attempting uninstall: nvidia-cuda-nvrtc-cu12
    Found existing installation: nvidia-cuda-nvrtc-cu12 12.5.82
    Uninstalling nvidia-cuda-nvrtc-cu12-12.5.82:
      Successfully uninstalled nvidia-cuda-nvrtc-cu12-12.5.82
  Attempting uninstall: nvidia-cuda-cupti-cu12
    Found existing installation: nvidia-cuda-cupti-cu12 12.5.82
    Uninstalling nvidia-cuda-cupti-cu12-12.5.82:
      Successfully uninstalled nvidia-cuda-cupti-cu12-12.5.82
  Attempting uninstall: nvidia-cublas-cu12
    Found existing installation: nvidia-cublas-cu12 12.5.3.2
    Uninstalling nvidia-cublas-cu12-12.5.3.2:
      Successfully uninstalled nvidia-cublas-cu12-12.5.3.2
  Attempting uninstall: nvidia-cusparse-cu12
    Found existing installation: nvidia-cusparse-cu12 12.5.1.3
    Uninstalling nvidia-cusparse-cu12-12.5.1.3:
      Successfully uninstalled nvidia-cusparse-cu12-12.5.1.3
  Attempting uninstall: nvidia-cudnn-cu12
    Found existing installation: nvidia-cudnn-cu12 9.3.0.75
    Uninstalling nvidia-cudnn-cu12-9.3.0.75:
      Successfully uninstalled nvidia-cudnn-cu12-9.3.0.75
  Attempting uninstall: jupyter-client
    Found existing installation: jupyter-client 6.1.12
    Uninstalling jupyter-client-6.1.12:
      Successfully uninstalled jupyter-client-6.1.12
  Attempting uninstall: nvidia-cusolver-cu12
    Found existing installation: nvidia-cusolver-cu12 11.6.3.83
    Uninstalling nvidia-cusolver-cu12-11.6.3.83:
      Successfully uninstalled nvidia-cusolver-cu12-11.6.3.83
  Attempting uninstall: jupyter-server
    Found existing installation: jupyter-server 1.16.0
    Uninstalling jupyter-server-1.16.0:
      Successfully uninstalled jupyter-server-1.16.0
Successfully installed Flask-Caching-2.3.1 aenum-3.1.16 affine-2.4.0 aniso8601-10.0.1 anywidget-0.9.18 arrow-1.3.0 bitsandbytes-0.46.1 buildingregulariser-0.2.2 cachelib-0.13.0 click-plugins-1.1.1.2 cligj-0.7.2 color-operations-0.2.0 contextily-1.6.2 eval-type-backport-0.2.2 fiona-1.10.1 flask-cors-6.0.1 flask-restx-1.3.0 fqdn-1.5.1 geoai-py-0.8.1 geojson-3.2.0 hydra-core-1.3.2 ipyvue-1.11.2 ipyvuetify-1.11.3 isoduration-20.11.0 jedi-0.19.2 jsonargparse-4.40.0 jsonnet-0.21.0 jupyter-client-7.4.9 jupyter-events-0.12.0 jupyter-server-2.16.0 jupyter-server-proxy-4.4.0 jupyter-server-terminals-0.5.3 kornia-0.8.1 kornia_rs-0.1.9 leafmap-0.48.6 lightly-1.5.21 lightly_utils-0.0.2 lightning-2.5.2 lightning-utilities-0.14.3 localtileserver-0.10.6 mapclassify-2.9.0 maplibre-0.3.4 mercantile-1.2.1 morecantile-6.2.0 nvidia-cublas-cu12-12.4.5.8 nvidia-cuda-cupti-cu12-12.4.127 nvidia-cuda-nvrtc-cu12-12.4.127 nvidia-cuda-runtime-cu12-12.4.127 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.2.1.3 nvidia-curand-cu12-10.3.5.147 nvidia-cusolver-cu12-11.6.1.9 nvidia-cusparse-cu12-12.3.1.170 nvidia-nvjitlink-cu12-12.4.127 overrides-7.7.0 overturemaps-0.15.0 planetary-computer-1.0.0 psygnal-0.14.0 pystac-1.13.0 pystac-client-0.8.6 python-dotenv-1.1.1 python-json-logger-3.3.0 pytorch_lightning-2.5.2 rasterio-1.4.3 rfc3339-validator-0.1.4 rfc3986-validator-0.1.1 rio-cogeo-5.4.2 rio-tiler-7.8.1 rioxarray-0.19.0 rtree-1.4.0 segmentation-models-pytorch-0.5.0 server-thread-0.3.0 simpervisor-1.0.0 tensorboardX-2.6.4 torchgeo-0.7.1 torchinfo-1.8.0 torchmetrics-1.7.4 types-python-dateutil-2.9.0.20250708 typeshed-client-2.7.0 uri-template-1.3.0 whitebox-2.3.6 whiteboxgui-2.3.0
Collecting ipysheet
  Downloading ipysheet-0.7.0-py2.py3-none-any.whl.metadata (4.0 kB)
Requirement already satisfied: ipywidgets<9.0,>=7.5.0 in /usr/local/lib/python3.11/dist-packages (from ipysheet) (7.7.1)
Requirement already satisfied: ipykernel>=4.5.1 in /usr/local/lib/python3.11/dist-packages (from ipywidgets<9.0,>=7.5.0->ipysheet) (6.17.1)
Requirement already satisfied: ipython-genutils~=0.2.0 in /usr/local/lib/python3.11/dist-packages (from ipywidgets<9.0,>=7.5.0->ipysheet) (0.2.0)
Requirement already satisfied: traitlets>=4.3.1 in /usr/local/lib/python3.11/dist-packages (from ipywidgets<9.0,>=7.5.0->ipysheet) (5.7.1)
Requirement already satisfied: widgetsnbextension~=3.6.0 in /usr/local/lib/python3.11/dist-packages (from ipywidgets<9.0,>=7.5.0->ipysheet) (3.6.10)
Requirement already satisfied: ipython>=4.0.0 in /usr/local/lib/python3.11/dist-packages (from ipywidgets<9.0,>=7.5.0->ipysheet) (7.34.0)
Requirement already satisfied: jupyterlab-widgets>=1.0.0 in /usr/local/lib/python3.11/dist-packages (from ipywidgets<9.0,>=7.5.0->ipysheet) (3.0.15)
Requirement already satisfied: debugpy>=1.0 in /usr/local/lib/python3.11/dist-packages (from ipykernel>=4.5.1->ipywidgets<9.0,>=7.5.0->ipysheet) (1.8.0)
Requirement already satisfied: jupyter-client>=6.1.12 in /usr/local/lib/python3.11/dist-packages (from ipykernel>=4.5.1->ipywidgets<9.0,>=7.5.0->ipysheet) (7.4.9)
Requirement already satisfied: matplotlib-inline>=0.1 in /usr/local/lib/python3.11/dist-packages (from ipykernel>=4.5.1->ipywidgets<9.0,>=7.5.0->ipysheet) (0.1.7)
Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.11/dist-packages (from ipykernel>=4.5.1->ipywidgets<9.0,>=7.5.0->ipysheet) (1.6.0)
Requirement already satisfied: packaging in /usr/local/lib/python3.11/dist-packages (from ipykernel>=4.5.1->ipywidgets<9.0,>=7.5.0->ipysheet) (24.2)
Requirement already satisfied: psutil in /usr/local/lib/python3.11/dist-packages (from ipykernel>=4.5.1->ipywidgets<9.0,>=7.5.0->ipysheet) (5.9.5)
Requirement already satisfied: pyzmq>=17 in /usr/local/lib/python3.11/dist-packages (from ipykernel>=4.5.1->ipywidgets<9.0,>=7.5.0->ipysheet) (24.0.1)
Requirement already satisfied: tornado>=6.1 in /usr/local/lib/python3.11/dist-packages (from ipykernel>=4.5.1->ipywidgets<9.0,>=7.5.0->ipysheet) (6.4.2)
Requirement already satisfied: setuptools>=18.5 in /usr/local/lib/python3.11/dist-packages (from ipython>=4.0.0->ipywidgets<9.0,>=7.5.0->ipysheet) (75.2.0)
Requirement already satisfied: jedi>=0.16 in /usr/local/lib/python3.11/dist-packages (from ipython>=4.0.0->ipywidgets<9.0,>=7.5.0->ipysheet) (0.19.2)
Requirement already satisfied: decorator in /usr/local/lib/python3.11/dist-packages (from ipython>=4.0.0->ipywidgets<9.0,>=7.5.0->ipysheet) (4.4.2)
Requirement already satisfied: pickleshare in /usr/local/lib/python3.11/dist-packages (from ipython>=4.0.0->ipywidgets<9.0,>=7.5.0->ipysheet) (0.7.5)
Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/lib/python3.11/dist-packages (from ipython>=4.0.0->ipywidgets<9.0,>=7.5.0->ipysheet) (3.0.51)
Requirement already satisfied: pygments in /usr/local/lib/python3.11/dist-packages (from ipython>=4.0.0->ipywidgets<9.0,>=7.5.0->ipysheet) (2.19.2)
Requirement already satisfied: backcall in /usr/local/lib/python3.11/dist-packages (from ipython>=4.0.0->ipywidgets<9.0,>=7.5.0->ipysheet) (0.2.0)
Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.11/dist-packages (from ipython>=4.0.0->ipywidgets<9.0,>=7.5.0->ipysheet) (4.9.0)
Requirement already satisfied: notebook>=4.4.1 in /usr/local/lib/python3.11/dist-packages (from widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (6.5.7)
Requirement already satisfied: parso<0.9.0,>=0.8.4 in /usr/local/lib/python3.11/dist-packages (from jedi>=0.16->ipython>=4.0.0->ipywidgets<9.0,>=7.5.0->ipysheet) (0.8.4)
Requirement already satisfied: entrypoints in /usr/local/lib/python3.11/dist-packages (from jupyter-client>=6.1.12->ipykernel>=4.5.1->ipywidgets<9.0,>=7.5.0->ipysheet) (0.4)
Requirement already satisfied: jupyter-core>=4.9.2 in /usr/local/lib/python3.11/dist-packages (from jupyter-client>=6.1.12->ipykernel>=4.5.1->ipywidgets<9.0,>=7.5.0->ipysheet) (5.8.1)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.11/dist-packages (from jupyter-client>=6.1.12->ipykernel>=4.5.1->ipywidgets<9.0,>=7.5.0->ipysheet) (2.9.0.post0)
Requirement already satisfied: jinja2 in /usr/local/lib/python3.11/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (3.1.6)
Requirement already satisfied: argon2-cffi in /usr/local/lib/python3.11/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (25.1.0)
Requirement already satisfied: nbformat in /usr/local/lib/python3.11/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (5.10.4)
Requirement already satisfied: nbconvert>=5 in /usr/local/lib/python3.11/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (7.16.6)
Requirement already satisfied: Send2Trash>=1.8.0 in /usr/local/lib/python3.11/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (1.8.3)
Requirement already satisfied: terminado>=0.8.3 in /usr/local/lib/python3.11/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (0.18.1)
Requirement already satisfied: prometheus-client in /usr/local/lib/python3.11/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (0.22.1)
Requirement already satisfied: nbclassic>=0.4.7 in /usr/local/lib/python3.11/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (1.3.1)
Requirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.11/dist-packages (from pexpect>4.3->ipython>=4.0.0->ipywidgets<9.0,>=7.5.0->ipysheet) (0.7.0)
Requirement already satisfied: wcwidth in /usr/local/lib/python3.11/dist-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython>=4.0.0->ipywidgets<9.0,>=7.5.0->ipysheet) (0.2.13)
Requirement already satisfied: platformdirs>=2.5 in /usr/local/lib/python3.11/dist-packages (from jupyter-core>=4.9.2->jupyter-client>=6.1.12->ipykernel>=4.5.1->ipywidgets<9.0,>=7.5.0->ipysheet) (4.3.8)
Requirement already satisfied: notebook-shim>=0.2.3 in /usr/local/lib/python3.11/dist-packages (from nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (0.2.4)
Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.11/dist-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (4.13.4)
Requirement already satisfied: bleach!=5.0.0 in /usr/local/lib/python3.11/dist-packages (from bleach[css]!=5.0.0->nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (6.2.0)
Requirement already satisfied: defusedxml in /usr/local/lib/python3.11/dist-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (0.7.1)
Requirement already satisfied: jupyterlab-pygments in /usr/local/lib/python3.11/dist-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (0.3.0)
Requirement already satisfied: markupsafe>=2.0 in /usr/local/lib/python3.11/dist-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (3.0.2)
Requirement already satisfied: mistune<4,>=2.0.3 in /usr/local/lib/python3.11/dist-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (3.1.3)
Requirement already satisfied: nbclient>=0.5.0 in /usr/local/lib/python3.11/dist-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (0.10.2)
Requirement already satisfied: pandocfilters>=1.4.1 in /usr/local/lib/python3.11/dist-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (1.5.1)
Requirement already satisfied: fastjsonschema>=2.15 in /usr/local/lib/python3.11/dist-packages (from nbformat->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (2.21.1)
Requirement already satisfied: jsonschema>=2.6 in /usr/local/lib/python3.11/dist-packages (from nbformat->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (4.24.0)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.11/dist-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.12->ipykernel>=4.5.1->ipywidgets<9.0,>=7.5.0->ipysheet) (1.17.0)
Requirement already satisfied: argon2-cffi-bindings in /usr/local/lib/python3.11/dist-packages (from argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (21.2.0)
Requirement already satisfied: webencodings in /usr/local/lib/python3.11/dist-packages (from bleach!=5.0.0->bleach[css]!=5.0.0->nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (0.5.1)
Requirement already satisfied: tinycss2<1.5,>=1.1.0 in /usr/local/lib/python3.11/dist-packages (from bleach[css]!=5.0.0->nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (1.4.0)
Requirement already satisfied: attrs>=22.2.0 in /usr/local/lib/python3.11/dist-packages (from jsonschema>=2.6->nbformat->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (25.3.0)
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/local/lib/python3.11/dist-packages (from jsonschema>=2.6->nbformat->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (2025.4.1)
Requirement already satisfied: referencing>=0.28.4 in /usr/local/lib/python3.11/dist-packages (from jsonschema>=2.6->nbformat->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (0.36.2)
Requirement already satisfied: rpds-py>=0.7.1 in /usr/local/lib/python3.11/dist-packages (from jsonschema>=2.6->nbformat->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (0.26.0)
Requirement already satisfied: jupyter-server<3,>=1.8 in /usr/local/lib/python3.11/dist-packages (from notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (2.16.0)
Requirement already satisfied: cffi>=1.0.1 in /usr/local/lib/python3.11/dist-packages (from argon2-cffi-bindings->argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (1.17.1)
Requirement already satisfied: soupsieve>1.2 in /usr/local/lib/python3.11/dist-packages (from beautifulsoup4->nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (2.7)
Requirement already satisfied: typing-extensions>=4.0.0 in /usr/local/lib/python3.11/dist-packages (from beautifulsoup4->nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (4.14.0)
Requirement already satisfied: pycparser in /usr/local/lib/python3.11/dist-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (2.22)
Requirement already satisfied: anyio>=3.1.0 in /usr/local/lib/python3.11/dist-packages (from jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (4.9.0)
Requirement already satisfied: jupyter-events>=0.11.0 in /usr/local/lib/python3.11/dist-packages (from jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (0.12.0)
Requirement already satisfied: jupyter-server-terminals>=0.4.4 in /usr/local/lib/python3.11/dist-packages (from jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (0.5.3)
Requirement already satisfied: overrides>=5.0 in /usr/local/lib/python3.11/dist-packages (from jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (7.7.0)
Requirement already satisfied: websocket-client>=1.7 in /usr/local/lib/python3.11/dist-packages (from jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (1.8.0)
Requirement already satisfied: idna>=2.8 in /usr/local/lib/python3.11/dist-packages (from anyio>=3.1.0->jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (3.10)
Requirement already satisfied: sniffio>=1.1 in /usr/local/lib/python3.11/dist-packages (from anyio>=3.1.0->jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (1.3.1)
Requirement already satisfied: python-json-logger>=2.0.4 in /usr/local/lib/python3.11/dist-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (3.3.0)
Requirement already satisfied: pyyaml>=5.3 in /usr/local/lib/python3.11/dist-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (6.0.2)
Requirement already satisfied: rfc3339-validator in /usr/local/lib/python3.11/dist-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (0.1.4)
Requirement already satisfied: rfc3986-validator>=0.1.1 in /usr/local/lib/python3.11/dist-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (0.1.1)
Requirement already satisfied: fqdn in /usr/local/lib/python3.11/dist-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (1.5.1)
Requirement already satisfied: isoduration in /usr/local/lib/python3.11/dist-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (20.11.0)
Requirement already satisfied: jsonpointer>1.13 in /usr/local/lib/python3.11/dist-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (3.0.0)
Requirement already satisfied: uri-template in /usr/local/lib/python3.11/dist-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (1.3.0)
Requirement already satisfied: webcolors>=24.6.0 in /usr/local/lib/python3.11/dist-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (24.11.1)
Requirement already satisfied: arrow>=0.15.0 in /usr/local/lib/python3.11/dist-packages (from isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (1.3.0)
Requirement already satisfied: types-python-dateutil>=2.8.10 in /usr/local/lib/python3.11/dist-packages (from arrow>=0.15.0->isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<9.0,>=7.5.0->ipysheet) (2.9.0.20250708)
Downloading ipysheet-0.7.0-py2.py3-none-any.whl (3.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.8/3.8 MB 33.0 MB/s eta 0:00:00
Installing collected packages: ipysheet
Successfully installed ipysheet-0.7.0
Requirement already satisfied: rasterio in /usr/local/lib/python3.11/dist-packages (1.4.3)
Requirement already satisfied: affine in /usr/local/lib/python3.11/dist-packages (from rasterio) (2.4.0)
Requirement already satisfied: attrs in /usr/local/lib/python3.11/dist-packages (from rasterio) (25.3.0)
Requirement already satisfied: certifi in /usr/local/lib/python3.11/dist-packages (from rasterio) (2025.6.15)
Requirement already satisfied: click>=4.0 in /usr/local/lib/python3.11/dist-packages (from rasterio) (8.2.1)
Requirement already satisfied: cligj>=0.5 in /usr/local/lib/python3.11/dist-packages (from rasterio) (0.7.2)
Requirement already satisfied: numpy>=1.24 in /usr/local/lib/python3.11/dist-packages (from rasterio) (2.0.2)
Requirement already satisfied: click-plugins in /usr/local/lib/python3.11/dist-packages (from rasterio) (1.1.1.2)
Requirement already satisfied: pyparsing in /usr/local/lib/python3.11/dist-packages (from rasterio) (3.2.3)

We connect to Drive and configure the image paths:

In [ ]:
from google.colab import drive
drive.mount('/content/drive')
Mounted at /content/drive
In [ ]:
import geoai
import leafmap
import rasterio
In [ ]:
train_image = '/content/drive/MyDrive/Datasets/Landcover_AI/images/M-33-20-D-c-4-2.tif'
test_image = '/content/drive/MyDrive/Datasets/Landcover_AI/images/M-33-20-D-d-3-3.tif'
train_mask = '/content/drive/MyDrive/Datasets/Landcover_AI/masks/M-33-20-D-c-4-2.tif'
In [ ]:
images_dir  = '/content/drive/MyDrive/Datasets/Naip_chesapeak/naip_images'
masks_dir = '/content/drive/MyDrive/Datasets/Naip_chesapeak/chesapeake_labels'
In [ ]:
train_image = '/content/drive/MyDrive/Datasets/Naip_chesapeak/naip_images/m_3807512_sw_18_060_20180815.tif'
train_mask = '/content/drive/MyDrive/Datasets/Naip_chesapeak/chesapeake_labels/m_3807512_sw_18_060_20180815.tif'

m = leafmap.Map()
m.add_raster(train_image, layer_name="Satellite Image")
m.add_raster(train_mask, cmap='inferno', layer_name="Mask")
m

Let's divide the images and masks into 512x512 patches:

In [ ]:
out_folder = "/content/tiles"
tiles = geoai.export_geotiff_tiles_batch(
    images_folder=images_dir,
    masks_folder=masks_dir,
    output_folder=out_folder,
    tile_size=512,
    stride=256,
    quiet=True,
)

We can view the generated tiles:

In [ ]:
import os
import matplotlib.pyplot as plt
import rasterio

image_folder = '/content/tiles/images'
label_folder = '/content/tiles/masks'

# Get a list of all image and label files
image_files = [f for f in os.listdir(image_folder) if f.endswith('.tif')]
label_files = [f for f in os.listdir(label_folder) if f.endswith('.tif')]

# Assuming image and label files have the same base name
image_files.sort()
label_files.sort()

# Visualize the first few pairs of image and mask
num_to_visualize = min(len(image_files), 5) # Visualize up to 5 pairs

for i in range(num_to_visualize):
    image_path = os.path.join(image_folder, image_files[i])
    label_path = os.path.join(label_folder, label_files[i])

    with rasterio.open(image_path) as src_img:
        image = src_img.read()

    with rasterio.open(label_path) as src_mask:
        mask = src_mask.read(1) # Read only the first band for the mask

    # Plotting
    fig, axes = plt.subplots(1, 2, figsize=(10, 5))

    # Plot image (assuming it's a multi-band image, e.g., RGB)
    # Transpose the image data to be in (height, width, channels) format for matplotlib
    image_transposed = image.transpose(1, 2, 0)
    axes[0].imshow(image_transposed)
    axes[0].set_title(f'Image: {image_files[i]}')
    axes[0].axis('off')

    # Plot mask
    axes[1].imshow(mask, cmap='inferno') # Use a colormap for the mask
    axes[1].set_title(f'Mask: {label_files[i]}')
    axes[1].axis('off')

    plt.tight_layout()
    plt.show()
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image

Then we train U-Net for 20 epochs:

In [ ]:
geoai.train_segmentation_model(
    images_dir=f"{out_folder}/images",
    labels_dir=f"{out_folder}/masks",
    output_dir=f"{out_folder}/unet_models",
    architecture="unet",
    encoder_name="resnet34",
    encoder_weights="imagenet",
    num_channels=4,
    num_classes=13,
    batch_size=8,
    num_epochs=20,
    learning_rate=0.001,
    val_split=0.2,
    verbose=True,
    plot_curves=True,
)
Using device: cuda
Found 7566 image files and 7566 label files
Training on 6052 images, validating on 1514 images
Checking image sizes for compatibility...
All sampled images have the same size: (512, 512)
No resizing needed.
Testing data loader...
Data loader test passed.
config.json:   0%|          | 0.00/156 [00:00<?, ?B/s]
model.safetensors:   0%|          | 0.00/87.3M [00:00<?, ?B/s]
Starting training with unet + resnet34
Model parameters: 24,441,245
Epoch: 0, Batch: 0/757, Loss: 2.7731, Time: 1.89s
Epoch: 0, Batch: 10/757, Loss: 1.5072, Time: 4.40s
Epoch: 0, Batch: 20/757, Loss: 1.5241, Time: 4.40s
Epoch: 0, Batch: 30/757, Loss: 0.7965, Time: 4.42s
Epoch: 0, Batch: 40/757, Loss: 1.0683, Time: 4.45s
Epoch: 0, Batch: 50/757, Loss: 0.9814, Time: 4.46s
Epoch: 0, Batch: 60/757, Loss: 1.0523, Time: 4.46s
Epoch: 0, Batch: 70/757, Loss: 0.5196, Time: 4.46s
Epoch: 0, Batch: 80/757, Loss: 0.8431, Time: 4.48s
Epoch: 0, Batch: 90/757, Loss: 1.3484, Time: 4.49s
Epoch: 0, Batch: 100/757, Loss: 0.6793, Time: 4.50s
Epoch: 0, Batch: 110/757, Loss: 0.7023, Time: 4.52s
Epoch: 0, Batch: 120/757, Loss: 1.0879, Time: 4.53s
Epoch: 0, Batch: 130/757, Loss: 1.1761, Time: 4.55s
Epoch: 0, Batch: 140/757, Loss: 0.7488, Time: 4.55s
Epoch: 0, Batch: 150/757, Loss: 0.5740, Time: 4.56s
Epoch: 0, Batch: 160/757, Loss: 0.4987, Time: 4.58s
Epoch: 0, Batch: 170/757, Loss: 0.6278, Time: 4.59s
Epoch: 0, Batch: 180/757, Loss: 0.5622, Time: 4.60s
Epoch: 0, Batch: 190/757, Loss: 0.8205, Time: 4.61s
Epoch: 0, Batch: 200/757, Loss: 0.5861, Time: 4.63s
Epoch: 0, Batch: 210/757, Loss: 1.1496, Time: 4.64s
Epoch: 0, Batch: 220/757, Loss: 1.2396, Time: 4.66s
Epoch: 0, Batch: 230/757, Loss: 1.0449, Time: 4.66s
Epoch: 0, Batch: 240/757, Loss: 0.8463, Time: 4.66s
Epoch: 0, Batch: 250/757, Loss: 0.5436, Time: 4.66s
Epoch: 0, Batch: 260/757, Loss: 0.6174, Time: 4.66s
Epoch: 0, Batch: 270/757, Loss: 1.0457, Time: 4.66s
Epoch: 0, Batch: 280/757, Loss: 0.6107, Time: 4.68s
Epoch: 0, Batch: 290/757, Loss: 0.6048, Time: 4.69s
Epoch: 0, Batch: 300/757, Loss: 0.7741, Time: 4.70s
Epoch: 0, Batch: 310/757, Loss: 0.5988, Time: 4.70s
Epoch: 0, Batch: 320/757, Loss: 0.4053, Time: 4.71s
Epoch: 0, Batch: 330/757, Loss: 0.7419, Time: 4.71s
Epoch: 0, Batch: 340/757, Loss: 1.0679, Time: 4.73s
Epoch: 0, Batch: 350/757, Loss: 0.8181, Time: 4.74s
Epoch: 0, Batch: 360/757, Loss: 0.6684, Time: 4.74s
Epoch: 0, Batch: 370/757, Loss: 0.6689, Time: 4.75s
Epoch: 0, Batch: 380/757, Loss: 0.6563, Time: 4.75s
Epoch: 0, Batch: 390/757, Loss: 0.4748, Time: 4.75s
Epoch: 0, Batch: 400/757, Loss: 0.9352, Time: 4.76s
Epoch: 0, Batch: 410/757, Loss: 0.5988, Time: 4.76s
Epoch: 0, Batch: 420/757, Loss: 0.9726, Time: 4.77s
Epoch: 0, Batch: 430/757, Loss: 0.6344, Time: 4.77s
Epoch: 0, Batch: 440/757, Loss: 0.7998, Time: 4.78s
Epoch: 0, Batch: 450/757, Loss: 0.6945, Time: 4.79s
Epoch: 0, Batch: 460/757, Loss: 0.4817, Time: 4.78s
Epoch: 0, Batch: 470/757, Loss: 0.3249, Time: 4.79s
Epoch: 0, Batch: 480/757, Loss: 0.6167, Time: 4.79s
Epoch: 0, Batch: 490/757, Loss: 0.6574, Time: 4.79s
Epoch: 0, Batch: 500/757, Loss: 0.4112, Time: 4.80s
Epoch: 0, Batch: 510/757, Loss: 0.8207, Time: 4.80s
Epoch: 0, Batch: 520/757, Loss: 0.6267, Time: 4.81s
Epoch: 0, Batch: 530/757, Loss: 0.4672, Time: 4.81s
Epoch: 0, Batch: 540/757, Loss: 0.7546, Time: 4.81s
Epoch: 0, Batch: 550/757, Loss: 0.3490, Time: 4.81s
Epoch: 0, Batch: 560/757, Loss: 0.4513, Time: 4.81s
Epoch: 0, Batch: 570/757, Loss: 0.6643, Time: 4.82s
Epoch: 0, Batch: 580/757, Loss: 0.4109, Time: 4.82s
Epoch: 0, Batch: 590/757, Loss: 0.5075, Time: 4.82s
Epoch: 0, Batch: 600/757, Loss: 0.5223, Time: 4.83s
Epoch: 0, Batch: 610/757, Loss: 1.1354, Time: 4.82s
Epoch: 0, Batch: 620/757, Loss: 0.3331, Time: 4.83s
Epoch: 0, Batch: 630/757, Loss: 0.7121, Time: 4.83s
Epoch: 0, Batch: 640/757, Loss: 0.5809, Time: 4.82s
Epoch: 0, Batch: 650/757, Loss: 0.5152, Time: 4.82s
Epoch: 0, Batch: 660/757, Loss: 0.3458, Time: 4.83s
Epoch: 0, Batch: 670/757, Loss: 1.0068, Time: 4.82s
Epoch: 0, Batch: 680/757, Loss: 0.6020, Time: 4.82s
Epoch: 0, Batch: 690/757, Loss: 0.5084, Time: 4.83s
Epoch: 0, Batch: 700/757, Loss: 0.6284, Time: 4.83s
Epoch: 0, Batch: 710/757, Loss: 0.6269, Time: 4.84s
Epoch: 0, Batch: 720/757, Loss: 0.7124, Time: 4.84s
Epoch: 0, Batch: 730/757, Loss: 0.9872, Time: 4.83s
Epoch: 0, Batch: 740/757, Loss: 0.7325, Time: 4.84s
Epoch: 0, Batch: 750/757, Loss: 0.5714, Time: 4.84s
Epoch 1/20: Train Loss: 0.7145, Val Loss: 0.8461, Val IoU: 0.2150, Val Dice: 0.2436
Saving best model with IoU: 0.2150
Epoch: 1, Batch: 0/757, Loss: 0.5255, Time: 0.90s
Epoch: 1, Batch: 10/757, Loss: 0.5144, Time: 4.84s
Epoch: 1, Batch: 20/757, Loss: 0.6648, Time: 4.85s
Epoch: 1, Batch: 30/757, Loss: 1.0540, Time: 4.84s
Epoch: 1, Batch: 40/757, Loss: 0.5518, Time: 4.85s
Epoch: 1, Batch: 50/757, Loss: 0.3585, Time: 4.86s
Epoch: 1, Batch: 60/757, Loss: 0.5302, Time: 4.85s
Epoch: 1, Batch: 70/757, Loss: 0.6854, Time: 4.85s
Epoch: 1, Batch: 80/757, Loss: 0.7231, Time: 4.85s
Epoch: 1, Batch: 90/757, Loss: 0.9712, Time: 4.85s
Epoch: 1, Batch: 100/757, Loss: 0.8302, Time: 4.86s
Epoch: 1, Batch: 110/757, Loss: 0.3634, Time: 4.86s
Epoch: 1, Batch: 120/757, Loss: 0.7904, Time: 4.86s
Epoch: 1, Batch: 130/757, Loss: 0.4077, Time: 4.85s
Epoch: 1, Batch: 140/757, Loss: 0.4284, Time: 4.86s
Epoch: 1, Batch: 150/757, Loss: 0.8341, Time: 4.86s
Epoch: 1, Batch: 160/757, Loss: 0.5447, Time: 4.85s
Epoch: 1, Batch: 170/757, Loss: 0.9115, Time: 4.85s
Epoch: 1, Batch: 180/757, Loss: 0.8555, Time: 4.86s
Epoch: 1, Batch: 190/757, Loss: 0.4933, Time: 4.86s
Epoch: 1, Batch: 200/757, Loss: 0.9441, Time: 4.85s
Epoch: 1, Batch: 210/757, Loss: 0.6689, Time: 4.85s
Epoch: 1, Batch: 220/757, Loss: 0.4032, Time: 4.85s
Epoch: 1, Batch: 230/757, Loss: 0.8146, Time: 4.85s
Epoch: 1, Batch: 240/757, Loss: 0.3203, Time: 4.86s
Epoch: 1, Batch: 250/757, Loss: 0.2939, Time: 4.86s
Epoch: 1, Batch: 260/757, Loss: 0.7218, Time: 4.86s
Epoch: 1, Batch: 270/757, Loss: 0.8464, Time: 4.86s
Epoch: 1, Batch: 280/757, Loss: 0.8351, Time: 4.85s
Epoch: 1, Batch: 290/757, Loss: 0.7314, Time: 4.85s
Epoch: 1, Batch: 300/757, Loss: 0.6299, Time: 4.86s
Epoch: 1, Batch: 310/757, Loss: 0.4800, Time: 4.85s
Epoch: 1, Batch: 320/757, Loss: 0.6656, Time: 4.85s
Epoch: 1, Batch: 330/757, Loss: 0.8150, Time: 4.85s
Epoch: 1, Batch: 340/757, Loss: 0.5749, Time: 4.85s
Epoch: 1, Batch: 350/757, Loss: 0.4549, Time: 4.85s
Epoch: 1, Batch: 360/757, Loss: 0.5590, Time: 4.85s
Epoch: 1, Batch: 370/757, Loss: 0.8624, Time: 4.85s
Epoch: 1, Batch: 380/757, Loss: 0.7424, Time: 4.85s
Epoch: 1, Batch: 390/757, Loss: 0.5731, Time: 4.84s
Epoch: 1, Batch: 400/757, Loss: 0.6032, Time: 4.85s
Epoch: 1, Batch: 410/757, Loss: 0.5693, Time: 4.85s
Epoch: 1, Batch: 420/757, Loss: 0.6135, Time: 4.86s
Epoch: 1, Batch: 430/757, Loss: 0.6163, Time: 4.85s
Epoch: 1, Batch: 440/757, Loss: 1.1099, Time: 4.85s
Epoch: 1, Batch: 450/757, Loss: 0.5964, Time: 4.86s
Epoch: 1, Batch: 460/757, Loss: 0.4745, Time: 4.86s
Epoch: 1, Batch: 470/757, Loss: 0.8038, Time: 4.86s
Epoch: 1, Batch: 480/757, Loss: 0.7877, Time: 4.86s
Epoch: 1, Batch: 490/757, Loss: 0.4094, Time: 4.87s
Epoch: 1, Batch: 500/757, Loss: 1.2364, Time: 4.86s
Epoch: 1, Batch: 510/757, Loss: 0.6374, Time: 4.86s
Epoch: 1, Batch: 520/757, Loss: 0.3598, Time: 4.86s
Epoch: 1, Batch: 530/757, Loss: 0.5792, Time: 4.86s
Epoch: 1, Batch: 540/757, Loss: 0.9219, Time: 4.86s
Epoch: 1, Batch: 550/757, Loss: 0.3606, Time: 4.86s
Epoch: 1, Batch: 560/757, Loss: 0.9282, Time: 4.86s
Epoch: 1, Batch: 570/757, Loss: 0.8278, Time: 4.86s
Epoch: 1, Batch: 580/757, Loss: 0.4378, Time: 4.86s
Epoch: 1, Batch: 590/757, Loss: 0.7411, Time: 4.86s
Epoch: 1, Batch: 600/757, Loss: 0.4789, Time: 4.86s
Epoch: 1, Batch: 610/757, Loss: 0.5795, Time: 4.86s
Epoch: 1, Batch: 620/757, Loss: 1.0250, Time: 4.87s
Epoch: 1, Batch: 630/757, Loss: 0.6576, Time: 4.86s
Epoch: 1, Batch: 640/757, Loss: 0.9604, Time: 4.87s
Epoch: 1, Batch: 650/757, Loss: 0.7458, Time: 4.86s
Epoch: 1, Batch: 660/757, Loss: 0.7594, Time: 4.87s
Epoch: 1, Batch: 670/757, Loss: 0.5370, Time: 4.87s
Epoch: 1, Batch: 680/757, Loss: 0.7676, Time: 4.87s
Epoch: 1, Batch: 690/757, Loss: 0.6657, Time: 4.86s
Epoch: 1, Batch: 700/757, Loss: 0.6302, Time: 4.86s
Epoch: 1, Batch: 710/757, Loss: 0.2828, Time: 4.87s
Epoch: 1, Batch: 720/757, Loss: 0.5078, Time: 4.87s
Epoch: 1, Batch: 730/757, Loss: 0.9537, Time: 4.87s
Epoch: 1, Batch: 740/757, Loss: 0.5017, Time: 4.87s
Epoch: 1, Batch: 750/757, Loss: 1.1232, Time: 4.87s
Epoch 2/20: Train Loss: 0.6314, Val Loss: 0.5986, Val IoU: 0.3097, Val Dice: 0.3453
Saving best model with IoU: 0.3097
Epoch: 2, Batch: 0/757, Loss: 0.6110, Time: 0.86s
Epoch: 2, Batch: 10/757, Loss: 0.7208, Time: 4.87s
Epoch: 2, Batch: 20/757, Loss: 0.3885, Time: 4.87s
Epoch: 2, Batch: 30/757, Loss: 0.4620, Time: 4.87s
Epoch: 2, Batch: 40/757, Loss: 0.6761, Time: 4.86s
Epoch: 2, Batch: 50/757, Loss: 0.6375, Time: 4.86s
Epoch: 2, Batch: 60/757, Loss: 0.5973, Time: 4.86s
Epoch: 2, Batch: 70/757, Loss: 0.6721, Time: 4.86s
Epoch: 2, Batch: 80/757, Loss: 0.6034, Time: 4.86s
Epoch: 2, Batch: 90/757, Loss: 0.5035, Time: 4.86s
Epoch: 2, Batch: 100/757, Loss: 0.3549, Time: 4.86s
Epoch: 2, Batch: 110/757, Loss: 1.1034, Time: 4.87s
Epoch: 2, Batch: 120/757, Loss: 0.6165, Time: 4.86s
Epoch: 2, Batch: 130/757, Loss: 0.4143, Time: 4.86s
Epoch: 2, Batch: 140/757, Loss: 0.5105, Time: 4.87s
Epoch: 2, Batch: 150/757, Loss: 0.9837, Time: 4.86s
Epoch: 2, Batch: 160/757, Loss: 0.5361, Time: 4.86s
Epoch: 2, Batch: 170/757, Loss: 0.5854, Time: 4.86s
Epoch: 2, Batch: 180/757, Loss: 0.5781, Time: 4.87s
Epoch: 2, Batch: 190/757, Loss: 0.5943, Time: 4.86s
Epoch: 2, Batch: 200/757, Loss: 0.6070, Time: 4.86s
Epoch: 2, Batch: 210/757, Loss: 0.2913, Time: 4.87s
Epoch: 2, Batch: 220/757, Loss: 0.4581, Time: 4.86s
Epoch: 2, Batch: 230/757, Loss: 0.6433, Time: 4.87s
Epoch: 2, Batch: 240/757, Loss: 0.3878, Time: 4.88s
Epoch: 2, Batch: 250/757, Loss: 0.6138, Time: 4.88s
Epoch: 2, Batch: 260/757, Loss: 0.2756, Time: 4.88s
Epoch: 2, Batch: 270/757, Loss: 0.9983, Time: 4.88s
Epoch: 2, Batch: 280/757, Loss: 0.3467, Time: 4.87s
Epoch: 2, Batch: 290/757, Loss: 0.3528, Time: 4.87s
Epoch: 2, Batch: 300/757, Loss: 0.8320, Time: 4.87s
Epoch: 2, Batch: 310/757, Loss: 0.8117, Time: 4.87s
Epoch: 2, Batch: 320/757, Loss: 0.3243, Time: 4.87s
Epoch: 2, Batch: 330/757, Loss: 0.3264, Time: 4.87s
Epoch: 2, Batch: 340/757, Loss: 0.6325, Time: 4.87s
Epoch: 2, Batch: 350/757, Loss: 0.7708, Time: 4.88s
Epoch: 2, Batch: 360/757, Loss: 0.3129, Time: 4.87s
Epoch: 2, Batch: 370/757, Loss: 0.9441, Time: 4.88s
Epoch: 2, Batch: 380/757, Loss: 0.9134, Time: 4.88s
Epoch: 2, Batch: 390/757, Loss: 0.5646, Time: 4.89s
Epoch: 2, Batch: 400/757, Loss: 0.3808, Time: 4.89s
Epoch: 2, Batch: 410/757, Loss: 0.6222, Time: 4.88s
Epoch: 2, Batch: 420/757, Loss: 0.6120, Time: 4.88s
Epoch: 2, Batch: 430/757, Loss: 0.9044, Time: 4.89s
Epoch: 2, Batch: 440/757, Loss: 0.8404, Time: 4.88s
Epoch: 2, Batch: 450/757, Loss: 1.1135, Time: 4.89s
Epoch: 2, Batch: 460/757, Loss: 0.6810, Time: 4.89s
Epoch: 2, Batch: 470/757, Loss: 0.7406, Time: 4.88s
Epoch: 2, Batch: 480/757, Loss: 0.6562, Time: 4.88s
Epoch: 2, Batch: 490/757, Loss: 0.3962, Time: 4.88s
Epoch: 2, Batch: 500/757, Loss: 0.4655, Time: 4.88s
Epoch: 2, Batch: 510/757, Loss: 0.5169, Time: 4.87s
Epoch: 2, Batch: 520/757, Loss: 0.4278, Time: 4.88s
Epoch: 2, Batch: 530/757, Loss: 0.7615, Time: 4.88s
Epoch: 2, Batch: 540/757, Loss: 0.8216, Time: 4.87s
Epoch: 2, Batch: 550/757, Loss: 0.4945, Time: 4.88s
Epoch: 2, Batch: 560/757, Loss: 0.2919, Time: 4.88s
Epoch: 2, Batch: 570/757, Loss: 0.7593, Time: 4.88s
Epoch: 2, Batch: 580/757, Loss: 0.8451, Time: 4.88s
Epoch: 2, Batch: 590/757, Loss: 0.5968, Time: 4.88s
Epoch: 2, Batch: 600/757, Loss: 0.5975, Time: 4.88s
Epoch: 2, Batch: 610/757, Loss: 0.5472, Time: 4.87s
Epoch: 2, Batch: 620/757, Loss: 0.5334, Time: 4.87s
Epoch: 2, Batch: 630/757, Loss: 0.5010, Time: 4.87s
Epoch: 2, Batch: 640/757, Loss: 0.8547, Time: 4.87s
Epoch: 2, Batch: 650/757, Loss: 0.3129, Time: 4.87s
Epoch: 2, Batch: 660/757, Loss: 0.5059, Time: 4.86s
Epoch: 2, Batch: 670/757, Loss: 0.7392, Time: 4.85s
Epoch: 2, Batch: 680/757, Loss: 0.5843, Time: 4.85s
Epoch: 2, Batch: 690/757, Loss: 0.4730, Time: 4.86s
Epoch: 2, Batch: 700/757, Loss: 0.6370, Time: 4.86s
Epoch: 2, Batch: 710/757, Loss: 0.4404, Time: 4.86s
Epoch: 2, Batch: 720/757, Loss: 0.3192, Time: 4.86s
Epoch: 2, Batch: 730/757, Loss: 0.3098, Time: 4.86s
Epoch: 2, Batch: 740/757, Loss: 0.7573, Time: 4.86s
Epoch: 2, Batch: 750/757, Loss: 0.5264, Time: 4.86s
Epoch 3/20: Train Loss: 0.6151, Val Loss: 0.5932, Val IoU: 0.3150, Val Dice: 0.3509
Saving best model with IoU: 0.3150
Epoch: 3, Batch: 0/757, Loss: 1.1416, Time: 0.89s
Epoch: 3, Batch: 10/757, Loss: 0.8220, Time: 4.86s
Epoch: 3, Batch: 20/757, Loss: 0.6594, Time: 4.85s
Epoch: 3, Batch: 30/757, Loss: 0.5261, Time: 4.85s
Epoch: 3, Batch: 40/757, Loss: 0.8522, Time: 4.85s
Epoch: 3, Batch: 50/757, Loss: 0.7730, Time: 4.85s
Epoch: 3, Batch: 60/757, Loss: 0.5110, Time: 4.85s
Epoch: 3, Batch: 70/757, Loss: 0.6732, Time: 4.86s
Epoch: 3, Batch: 80/757, Loss: 0.7868, Time: 4.87s
Epoch: 3, Batch: 90/757, Loss: 0.8388, Time: 4.87s
Epoch: 3, Batch: 100/757, Loss: 0.6426, Time: 4.86s
Epoch: 3, Batch: 110/757, Loss: 0.6824, Time: 4.86s
Epoch: 3, Batch: 120/757, Loss: 0.5533, Time: 4.85s
Epoch: 3, Batch: 130/757, Loss: 0.5501, Time: 4.85s
Epoch: 3, Batch: 140/757, Loss: 0.2838, Time: 4.85s
Epoch: 3, Batch: 150/757, Loss: 0.5047, Time: 4.85s
Epoch: 3, Batch: 160/757, Loss: 0.3445, Time: 4.85s
Epoch: 3, Batch: 170/757, Loss: 0.9574, Time: 4.86s
Epoch: 3, Batch: 180/757, Loss: 0.3645, Time: 4.86s
Epoch: 3, Batch: 190/757, Loss: 0.5933, Time: 4.86s
Epoch: 3, Batch: 200/757, Loss: 0.5433, Time: 4.86s
Epoch: 3, Batch: 210/757, Loss: 0.4577, Time: 4.86s
Epoch: 3, Batch: 220/757, Loss: 0.4778, Time: 4.87s
Epoch: 3, Batch: 230/757, Loss: 0.6035, Time: 4.87s
Epoch: 3, Batch: 240/757, Loss: 0.3316, Time: 4.86s
Epoch: 3, Batch: 250/757, Loss: 0.2873, Time: 4.86s
Epoch: 3, Batch: 260/757, Loss: 0.9097, Time: 4.86s
Epoch: 3, Batch: 270/757, Loss: 0.5571, Time: 4.86s
Epoch: 3, Batch: 280/757, Loss: 0.4991, Time: 4.85s
Epoch: 3, Batch: 290/757, Loss: 1.3256, Time: 4.85s
Epoch: 3, Batch: 300/757, Loss: 0.4975, Time: 4.86s
Epoch: 3, Batch: 310/757, Loss: 0.7547, Time: 4.86s
Epoch: 3, Batch: 320/757, Loss: 0.6668, Time: 4.86s
Epoch: 3, Batch: 330/757, Loss: 0.6834, Time: 4.86s
Epoch: 3, Batch: 340/757, Loss: 0.7262, Time: 4.86s
Epoch: 3, Batch: 350/757, Loss: 0.6545, Time: 4.86s
Epoch: 3, Batch: 360/757, Loss: 1.2340, Time: 4.87s
Epoch: 3, Batch: 370/757, Loss: 0.4834, Time: 4.87s
Epoch: 3, Batch: 380/757, Loss: 0.3411, Time: 4.87s
Epoch: 3, Batch: 390/757, Loss: 0.5282, Time: 4.86s
Epoch: 3, Batch: 400/757, Loss: 0.9386, Time: 4.86s
Epoch: 3, Batch: 410/757, Loss: 1.1112, Time: 4.86s
Epoch: 3, Batch: 420/757, Loss: 0.7749, Time: 4.86s
Epoch: 3, Batch: 430/757, Loss: 0.7374, Time: 4.85s
Epoch: 3, Batch: 440/757, Loss: 0.5441, Time: 4.86s
Epoch: 3, Batch: 450/757, Loss: 0.3293, Time: 4.86s
Epoch: 3, Batch: 460/757, Loss: 0.2802, Time: 4.87s
Epoch: 3, Batch: 470/757, Loss: 0.3111, Time: 4.87s
Epoch: 3, Batch: 480/757, Loss: 0.3351, Time: 4.85s
Epoch: 3, Batch: 490/757, Loss: 0.5260, Time: 4.86s
Epoch: 3, Batch: 500/757, Loss: 0.7678, Time: 4.86s
Epoch: 3, Batch: 510/757, Loss: 0.4742, Time: 4.86s
Epoch: 3, Batch: 520/757, Loss: 0.6757, Time: 4.86s
Epoch: 3, Batch: 530/757, Loss: 0.3425, Time: 4.85s
Epoch: 3, Batch: 540/757, Loss: 0.5429, Time: 4.86s
Epoch: 3, Batch: 550/757, Loss: 0.3459, Time: 4.85s
Epoch: 3, Batch: 560/757, Loss: 0.6711, Time: 4.85s
Epoch: 3, Batch: 570/757, Loss: 0.3993, Time: 4.85s
Epoch: 3, Batch: 580/757, Loss: 0.3405, Time: 4.85s
Epoch: 3, Batch: 590/757, Loss: 0.8175, Time: 4.85s
Epoch: 3, Batch: 600/757, Loss: 1.5006, Time: 4.85s
Epoch: 3, Batch: 610/757, Loss: 0.3850, Time: 4.86s
Epoch: 3, Batch: 620/757, Loss: 0.6686, Time: 4.86s
Epoch: 3, Batch: 630/757, Loss: 1.0451, Time: 4.85s
Epoch: 3, Batch: 640/757, Loss: 0.5308, Time: 4.85s
Epoch: 3, Batch: 650/757, Loss: 0.5119, Time: 4.85s
Epoch: 3, Batch: 660/757, Loss: 0.6021, Time: 4.84s
Epoch: 3, Batch: 670/757, Loss: 0.7448, Time: 4.85s
Epoch: 3, Batch: 680/757, Loss: 0.4636, Time: 4.86s
Epoch: 3, Batch: 690/757, Loss: 0.8495, Time: 4.85s
Epoch: 3, Batch: 700/757, Loss: 0.9065, Time: 4.85s
Epoch: 3, Batch: 710/757, Loss: 0.6727, Time: 4.85s
Epoch: 3, Batch: 720/757, Loss: 0.3254, Time: 4.86s
Epoch: 3, Batch: 730/757, Loss: 0.3344, Time: 4.86s
Epoch: 3, Batch: 740/757, Loss: 0.5436, Time: 4.86s
Epoch: 3, Batch: 750/757, Loss: 1.1337, Time: 4.85s
Epoch 4/20: Train Loss: 0.5985, Val Loss: 0.6167, Val IoU: 0.3154, Val Dice: 0.3517
Saving best model with IoU: 0.3154
Epoch: 4, Batch: 0/757, Loss: 0.5212, Time: 0.89s
Epoch: 4, Batch: 10/757, Loss: 0.5105, Time: 4.85s
Epoch: 4, Batch: 20/757, Loss: 1.0858, Time: 4.85s
Epoch: 4, Batch: 30/757, Loss: 0.6632, Time: 4.85s
Epoch: 4, Batch: 40/757, Loss: 0.4489, Time: 4.85s
Epoch: 4, Batch: 50/757, Loss: 0.6031, Time: 4.85s
Epoch: 4, Batch: 60/757, Loss: 1.0699, Time: 4.85s
Epoch: 4, Batch: 70/757, Loss: 0.5273, Time: 4.85s
Epoch: 4, Batch: 80/757, Loss: 0.5466, Time: 4.85s
Epoch: 4, Batch: 90/757, Loss: 0.5101, Time: 4.86s
Epoch: 4, Batch: 100/757, Loss: 0.3616, Time: 4.86s
Epoch: 4, Batch: 110/757, Loss: 0.6796, Time: 4.87s
Epoch: 4, Batch: 120/757, Loss: 0.4327, Time: 4.86s
Epoch: 4, Batch: 130/757, Loss: 0.5884, Time: 4.86s
Epoch: 4, Batch: 140/757, Loss: 0.4815, Time: 4.86s
Epoch: 4, Batch: 150/757, Loss: 0.5405, Time: 4.84s
Epoch: 4, Batch: 160/757, Loss: 0.8143, Time: 4.85s
Epoch: 4, Batch: 170/757, Loss: 0.5924, Time: 4.84s
Epoch: 4, Batch: 180/757, Loss: 0.4630, Time: 4.84s
Epoch: 4, Batch: 190/757, Loss: 0.5618, Time: 4.84s
Epoch: 4, Batch: 200/757, Loss: 0.8115, Time: 4.83s
Epoch: 4, Batch: 210/757, Loss: 0.2620, Time: 4.84s
Epoch: 4, Batch: 220/757, Loss: 0.2407, Time: 4.84s
Epoch: 4, Batch: 230/757, Loss: 0.4861, Time: 4.84s
Epoch: 4, Batch: 240/757, Loss: 0.5772, Time: 4.84s
Epoch: 4, Batch: 250/757, Loss: 0.7051, Time: 4.84s
Epoch: 4, Batch: 260/757, Loss: 1.0942, Time: 4.84s
Epoch: 4, Batch: 270/757, Loss: 0.3087, Time: 4.83s
Epoch: 4, Batch: 280/757, Loss: 0.7904, Time: 4.84s
Epoch: 4, Batch: 290/757, Loss: 0.5296, Time: 4.84s
Epoch: 4, Batch: 300/757, Loss: 0.5682, Time: 4.84s
Epoch: 4, Batch: 310/757, Loss: 0.2934, Time: 4.83s
Epoch: 4, Batch: 320/757, Loss: 0.7254, Time: 4.84s
Epoch: 4, Batch: 330/757, Loss: 0.5265, Time: 4.84s
Epoch: 4, Batch: 340/757, Loss: 0.5184, Time: 4.84s
Epoch: 4, Batch: 350/757, Loss: 0.6322, Time: 4.85s
Epoch: 4, Batch: 360/757, Loss: 0.5239, Time: 4.84s
Epoch: 4, Batch: 370/757, Loss: 0.8933, Time: 4.84s
Epoch: 4, Batch: 380/757, Loss: 0.6705, Time: 4.84s
Epoch: 4, Batch: 390/757, Loss: 0.3275, Time: 4.84s
Epoch: 4, Batch: 400/757, Loss: 1.0026, Time: 4.85s
Epoch: 4, Batch: 410/757, Loss: 0.7060, Time: 4.85s
Epoch: 4, Batch: 420/757, Loss: 0.6047, Time: 4.85s
Epoch: 4, Batch: 430/757, Loss: 0.5646, Time: 4.84s
Epoch: 4, Batch: 440/757, Loss: 0.2617, Time: 4.85s
Epoch: 4, Batch: 450/757, Loss: 0.6035, Time: 4.85s
Epoch: 4, Batch: 460/757, Loss: 0.5296, Time: 4.84s
Epoch: 4, Batch: 470/757, Loss: 0.2977, Time: 4.83s
Epoch: 4, Batch: 480/757, Loss: 0.6466, Time: 4.84s
Epoch: 4, Batch: 490/757, Loss: 0.3570, Time: 4.84s
Epoch: 4, Batch: 500/757, Loss: 1.0000, Time: 4.84s
Epoch: 4, Batch: 510/757, Loss: 0.5589, Time: 4.83s
Epoch: 4, Batch: 520/757, Loss: 0.4279, Time: 4.83s
Epoch: 4, Batch: 530/757, Loss: 0.3961, Time: 4.84s
Epoch: 4, Batch: 540/757, Loss: 0.4845, Time: 4.84s
Epoch: 4, Batch: 550/757, Loss: 0.4925, Time: 4.83s
Epoch: 4, Batch: 560/757, Loss: 0.7184, Time: 4.82s
Epoch: 4, Batch: 570/757, Loss: 0.4381, Time: 4.83s
Epoch: 4, Batch: 580/757, Loss: 0.7860, Time: 4.83s
Epoch: 4, Batch: 590/757, Loss: 0.6765, Time: 4.83s
Epoch: 4, Batch: 600/757, Loss: 0.3623, Time: 4.83s
Epoch: 4, Batch: 610/757, Loss: 0.6059, Time: 4.83s
Epoch: 4, Batch: 620/757, Loss: 0.6299, Time: 4.83s
Epoch: 4, Batch: 630/757, Loss: 0.5980, Time: 4.83s
Epoch: 4, Batch: 640/757, Loss: 0.6087, Time: 4.83s
Epoch: 4, Batch: 650/757, Loss: 0.8919, Time: 4.83s
Epoch: 4, Batch: 660/757, Loss: 0.5647, Time: 4.83s
Epoch: 4, Batch: 670/757, Loss: 0.5683, Time: 4.83s
Epoch: 4, Batch: 680/757, Loss: 0.7472, Time: 4.83s
Epoch: 4, Batch: 690/757, Loss: 0.5906, Time: 4.83s
Epoch: 4, Batch: 700/757, Loss: 0.3668, Time: 4.84s
Epoch: 4, Batch: 710/757, Loss: 0.3667, Time: 4.83s
Epoch: 4, Batch: 720/757, Loss: 0.6340, Time: 4.83s
Epoch: 4, Batch: 730/757, Loss: 0.3891, Time: 4.83s
Epoch: 4, Batch: 740/757, Loss: 0.4604, Time: 4.83s
Epoch: 4, Batch: 750/757, Loss: 0.3916, Time: 4.83s
Epoch 5/20: Train Loss: 0.5878, Val Loss: 0.5857, Val IoU: 0.3320, Val Dice: 0.3715
Saving best model with IoU: 0.3320
Epoch: 5, Batch: 0/757, Loss: 0.6138, Time: 0.84s
Epoch: 5, Batch: 10/757, Loss: 0.6239, Time: 4.81s
Epoch: 5, Batch: 20/757, Loss: 0.2985, Time: 4.82s
Epoch: 5, Batch: 30/757, Loss: 0.6213, Time: 4.82s
Epoch: 5, Batch: 40/757, Loss: 0.4083, Time: 4.82s
Epoch: 5, Batch: 50/757, Loss: 0.5536, Time: 4.81s
Epoch: 5, Batch: 60/757, Loss: 0.3910, Time: 4.81s
Epoch: 5, Batch: 70/757, Loss: 0.8001, Time: 4.82s
Epoch: 5, Batch: 80/757, Loss: 0.3575, Time: 4.81s
Epoch: 5, Batch: 90/757, Loss: 0.9363, Time: 4.82s
Epoch: 5, Batch: 100/757, Loss: 0.5621, Time: 4.82s
Epoch: 5, Batch: 110/757, Loss: 0.7214, Time: 4.82s
Epoch: 5, Batch: 120/757, Loss: 0.4454, Time: 4.82s
Epoch: 5, Batch: 130/757, Loss: 0.6043, Time: 4.82s
Epoch: 5, Batch: 140/757, Loss: 0.4629, Time: 4.81s
Epoch: 5, Batch: 150/757, Loss: 0.8554, Time: 4.82s
Epoch: 5, Batch: 160/757, Loss: 0.5396, Time: 4.82s
Epoch: 5, Batch: 170/757, Loss: 0.2859, Time: 4.82s
Epoch: 5, Batch: 180/757, Loss: 0.6801, Time: 4.82s
Epoch: 5, Batch: 190/757, Loss: 0.4582, Time: 4.82s
Epoch: 5, Batch: 200/757, Loss: 0.6820, Time: 4.83s
Epoch: 5, Batch: 210/757, Loss: 0.6862, Time: 4.82s
Epoch: 5, Batch: 220/757, Loss: 0.7667, Time: 4.82s
Epoch: 5, Batch: 230/757, Loss: 0.6028, Time: 4.82s
Epoch: 5, Batch: 240/757, Loss: 0.7692, Time: 4.82s
Epoch: 5, Batch: 250/757, Loss: 0.3122, Time: 4.81s
Epoch: 5, Batch: 260/757, Loss: 0.2030, Time: 4.82s
Epoch: 5, Batch: 270/757, Loss: 0.4182, Time: 4.81s
Epoch: 5, Batch: 280/757, Loss: 0.6088, Time: 4.81s
Epoch: 5, Batch: 290/757, Loss: 0.5867, Time: 4.81s
Epoch: 5, Batch: 300/757, Loss: 0.7849, Time: 4.82s
Epoch: 5, Batch: 310/757, Loss: 0.5269, Time: 4.81s
Epoch: 5, Batch: 320/757, Loss: 0.4480, Time: 4.82s
Epoch: 5, Batch: 330/757, Loss: 0.5539, Time: 4.82s
Epoch: 5, Batch: 340/757, Loss: 0.4366, Time: 4.82s
Epoch: 5, Batch: 350/757, Loss: 0.4167, Time: 4.81s
Epoch: 5, Batch: 360/757, Loss: 0.6181, Time: 4.82s
Epoch: 5, Batch: 370/757, Loss: 0.6924, Time: 4.81s
Epoch: 5, Batch: 380/757, Loss: 0.4851, Time: 4.82s
Epoch: 5, Batch: 390/757, Loss: 0.5519, Time: 4.82s
Epoch: 5, Batch: 400/757, Loss: 0.5793, Time: 4.82s
Epoch: 5, Batch: 410/757, Loss: 0.7086, Time: 4.82s
Epoch: 5, Batch: 420/757, Loss: 0.5298, Time: 4.82s
Epoch: 5, Batch: 430/757, Loss: 0.4963, Time: 4.82s
Epoch: 5, Batch: 440/757, Loss: 0.5407, Time: 4.82s
Epoch: 5, Batch: 450/757, Loss: 0.4871, Time: 4.82s
Epoch: 5, Batch: 460/757, Loss: 0.2827, Time: 4.82s
Epoch: 5, Batch: 470/757, Loss: 0.6225, Time: 4.81s
Epoch: 5, Batch: 480/757, Loss: 1.0804, Time: 4.82s
Epoch: 5, Batch: 490/757, Loss: 0.3578, Time: 4.81s
Epoch: 5, Batch: 500/757, Loss: 0.6160, Time: 4.81s
Epoch: 5, Batch: 510/757, Loss: 0.5207, Time: 4.81s
Epoch: 5, Batch: 520/757, Loss: 0.3649, Time: 4.81s
Epoch: 5, Batch: 530/757, Loss: 0.3148, Time: 4.82s
Epoch: 5, Batch: 540/757, Loss: 0.9040, Time: 4.81s
Epoch: 5, Batch: 550/757, Loss: 0.7492, Time: 4.81s
Epoch: 5, Batch: 560/757, Loss: 0.7655, Time: 4.81s
Epoch: 5, Batch: 570/757, Loss: 0.5509, Time: 4.81s
Epoch: 5, Batch: 580/757, Loss: 0.6091, Time: 4.81s
Epoch: 5, Batch: 590/757, Loss: 0.7188, Time: 4.81s
Epoch: 5, Batch: 600/757, Loss: 0.4752, Time: 4.81s
Epoch: 5, Batch: 610/757, Loss: 0.8159, Time: 4.81s
Epoch: 5, Batch: 620/757, Loss: 0.8069, Time: 4.81s
Epoch: 5, Batch: 630/757, Loss: 0.6037, Time: 4.81s
Epoch: 5, Batch: 640/757, Loss: 0.4252, Time: 4.81s
Epoch: 5, Batch: 650/757, Loss: 0.2629, Time: 4.81s
Epoch: 5, Batch: 660/757, Loss: 0.8482, Time: 4.81s
Epoch: 5, Batch: 670/757, Loss: 0.6947, Time: 4.81s
Epoch: 5, Batch: 680/757, Loss: 0.8552, Time: 4.81s
Epoch: 5, Batch: 690/757, Loss: 0.8914, Time: 4.81s
Epoch: 5, Batch: 700/757, Loss: 0.4127, Time: 4.81s
Epoch: 5, Batch: 710/757, Loss: 0.8171, Time: 4.81s
Epoch: 5, Batch: 720/757, Loss: 0.4508, Time: 4.81s
Epoch: 5, Batch: 730/757, Loss: 0.2936, Time: 4.81s
Epoch: 5, Batch: 740/757, Loss: 0.8161, Time: 4.81s
Epoch: 5, Batch: 750/757, Loss: 0.8177, Time: 4.81s
Epoch 6/20: Train Loss: 0.5754, Val Loss: 0.5674, Val IoU: 0.3355, Val Dice: 0.3747
Saving best model with IoU: 0.3355
Epoch: 6, Batch: 0/757, Loss: 0.4922, Time: 0.89s
Epoch: 6, Batch: 10/757, Loss: 0.9334, Time: 4.80s
Epoch: 6, Batch: 20/757, Loss: 0.6642, Time: 4.80s
Epoch: 6, Batch: 30/757, Loss: 1.1808, Time: 4.79s
Epoch: 6, Batch: 40/757, Loss: 0.3606, Time: 4.80s
Epoch: 6, Batch: 50/757, Loss: 0.4907, Time: 4.80s
Epoch: 6, Batch: 60/757, Loss: 0.5083, Time: 4.80s
Epoch: 6, Batch: 70/757, Loss: 0.3759, Time: 4.80s
Epoch: 6, Batch: 80/757, Loss: 0.3107, Time: 4.80s
Epoch: 6, Batch: 90/757, Loss: 1.3929, Time: 4.79s
Epoch: 6, Batch: 100/757, Loss: 0.8224, Time: 4.80s
Epoch: 6, Batch: 110/757, Loss: 0.4163, Time: 4.80s
Epoch: 6, Batch: 120/757, Loss: 0.4020, Time: 4.79s
Epoch: 6, Batch: 130/757, Loss: 0.6965, Time: 4.80s
Epoch: 6, Batch: 140/757, Loss: 0.5320, Time: 4.80s
Epoch: 6, Batch: 150/757, Loss: 0.7760, Time: 4.79s
Epoch: 6, Batch: 160/757, Loss: 0.4805, Time: 4.79s
Epoch: 6, Batch: 170/757, Loss: 0.6905, Time: 4.79s
Epoch: 6, Batch: 180/757, Loss: 0.8068, Time: 4.80s
Epoch: 6, Batch: 190/757, Loss: 0.3143, Time: 4.79s
Epoch: 6, Batch: 200/757, Loss: 0.2513, Time: 4.79s
Epoch: 6, Batch: 210/757, Loss: 0.4933, Time: 4.79s
Epoch: 6, Batch: 220/757, Loss: 0.7793, Time: 4.79s
Epoch: 6, Batch: 230/757, Loss: 0.8277, Time: 4.79s
Epoch: 6, Batch: 240/757, Loss: 0.6571, Time: 4.79s
Epoch: 6, Batch: 250/757, Loss: 0.7181, Time: 4.79s
Epoch: 6, Batch: 260/757, Loss: 0.6721, Time: 4.79s
Epoch: 6, Batch: 270/757, Loss: 0.6787, Time: 4.79s
Epoch: 6, Batch: 280/757, Loss: 0.6038, Time: 4.79s
Epoch: 6, Batch: 290/757, Loss: 0.4594, Time: 4.79s
Epoch: 6, Batch: 300/757, Loss: 0.3141, Time: 4.79s
Epoch: 6, Batch: 310/757, Loss: 0.6055, Time: 4.79s
Epoch: 6, Batch: 320/757, Loss: 0.6325, Time: 4.80s
Epoch: 6, Batch: 330/757, Loss: 0.2866, Time: 4.80s
Epoch: 6, Batch: 340/757, Loss: 0.5243, Time: 4.79s
Epoch: 6, Batch: 350/757, Loss: 0.4850, Time: 4.80s
Epoch: 6, Batch: 360/757, Loss: 0.8631, Time: 4.80s
Epoch: 6, Batch: 370/757, Loss: 0.3126, Time: 4.79s
Epoch: 6, Batch: 380/757, Loss: 0.6113, Time: 4.80s
Epoch: 6, Batch: 390/757, Loss: 0.2743, Time: 4.80s
Epoch: 6, Batch: 400/757, Loss: 0.3334, Time: 4.80s
Epoch: 6, Batch: 410/757, Loss: 0.6077, Time: 4.79s
Epoch: 6, Batch: 420/757, Loss: 0.7946, Time: 4.79s
Epoch: 6, Batch: 430/757, Loss: 0.7388, Time: 4.79s
Epoch: 6, Batch: 440/757, Loss: 0.4934, Time: 4.79s
Epoch: 6, Batch: 450/757, Loss: 0.7040, Time: 4.78s
Epoch: 6, Batch: 460/757, Loss: 0.7335, Time: 4.78s
Epoch: 6, Batch: 470/757, Loss: 0.4929, Time: 4.79s
Epoch: 6, Batch: 480/757, Loss: 0.6388, Time: 4.79s
Epoch: 6, Batch: 490/757, Loss: 0.9563, Time: 4.79s
Epoch: 6, Batch: 500/757, Loss: 0.3171, Time: 4.78s
Epoch: 6, Batch: 510/757, Loss: 0.8840, Time: 4.78s
Epoch: 6, Batch: 520/757, Loss: 0.9089, Time: 4.79s
Epoch: 6, Batch: 530/757, Loss: 0.5365, Time: 4.79s
Epoch: 6, Batch: 540/757, Loss: 0.9408, Time: 4.78s
Epoch: 6, Batch: 550/757, Loss: 0.3894, Time: 4.79s
Epoch: 6, Batch: 560/757, Loss: 0.4718, Time: 4.79s
Epoch: 6, Batch: 570/757, Loss: 0.4568, Time: 4.78s
Epoch: 6, Batch: 580/757, Loss: 0.3641, Time: 4.78s
Epoch: 6, Batch: 590/757, Loss: 0.3494, Time: 4.79s
Epoch: 6, Batch: 600/757, Loss: 0.3085, Time: 4.79s
Epoch: 6, Batch: 610/757, Loss: 0.3885, Time: 4.79s
Epoch: 6, Batch: 620/757, Loss: 0.7463, Time: 4.79s
Epoch: 6, Batch: 630/757, Loss: 0.7439, Time: 4.78s
Epoch: 6, Batch: 640/757, Loss: 0.4855, Time: 4.79s
Epoch: 6, Batch: 650/757, Loss: 0.8113, Time: 4.79s
Epoch: 6, Batch: 660/757, Loss: 0.4732, Time: 4.79s
Epoch: 6, Batch: 670/757, Loss: 0.5120, Time: 4.79s
Epoch: 6, Batch: 680/757, Loss: 0.8537, Time: 4.79s
Epoch: 6, Batch: 690/757, Loss: 0.2928, Time: 4.79s
Epoch: 6, Batch: 700/757, Loss: 0.4544, Time: 4.79s
Epoch: 6, Batch: 710/757, Loss: 0.4319, Time: 4.79s
Epoch: 6, Batch: 720/757, Loss: 0.5356, Time: 4.79s
Epoch: 6, Batch: 730/757, Loss: 0.5955, Time: 4.79s
Epoch: 6, Batch: 740/757, Loss: 0.5015, Time: 4.78s
Epoch: 6, Batch: 750/757, Loss: 0.6271, Time: 4.78s
Epoch 7/20: Train Loss: 0.5712, Val Loss: 0.5863, Val IoU: 0.3350, Val Dice: 0.3740
Epoch: 7, Batch: 0/757, Loss: 0.3359, Time: 0.82s
Epoch: 7, Batch: 10/757, Loss: 0.6134, Time: 4.76s
Epoch: 7, Batch: 20/757, Loss: 0.5640, Time: 4.76s
Epoch: 7, Batch: 30/757, Loss: 0.7456, Time: 4.77s
Epoch: 7, Batch: 40/757, Loss: 0.4894, Time: 4.77s
Epoch: 7, Batch: 50/757, Loss: 0.2763, Time: 4.76s
Epoch: 7, Batch: 60/757, Loss: 0.4607, Time: 4.76s
Epoch: 7, Batch: 70/757, Loss: 0.6823, Time: 4.77s
Epoch: 7, Batch: 80/757, Loss: 0.3634, Time: 4.77s
Epoch: 7, Batch: 90/757, Loss: 0.3294, Time: 4.77s
Epoch: 7, Batch: 100/757, Loss: 1.0374, Time: 4.78s
Epoch: 7, Batch: 110/757, Loss: 0.5924, Time: 4.78s
Epoch: 7, Batch: 120/757, Loss: 0.9425, Time: 4.78s
Epoch: 7, Batch: 130/757, Loss: 0.3786, Time: 4.78s
Epoch: 7, Batch: 140/757, Loss: 0.4786, Time: 4.78s
Epoch: 7, Batch: 150/757, Loss: 0.5065, Time: 4.78s
Epoch: 7, Batch: 160/757, Loss: 0.2638, Time: 4.79s
Epoch: 7, Batch: 170/757, Loss: 0.9543, Time: 4.78s
Epoch: 7, Batch: 180/757, Loss: 0.6087, Time: 4.78s
Epoch: 7, Batch: 190/757, Loss: 0.3728, Time: 4.78s
Epoch: 7, Batch: 200/757, Loss: 0.7498, Time: 4.78s
Epoch: 7, Batch: 210/757, Loss: 0.6074, Time: 4.78s
Epoch: 7, Batch: 220/757, Loss: 0.3653, Time: 4.77s
Epoch: 7, Batch: 230/757, Loss: 0.4777, Time: 4.77s
Epoch: 7, Batch: 240/757, Loss: 0.3814, Time: 4.76s
Epoch: 7, Batch: 250/757, Loss: 0.5578, Time: 4.76s
Epoch: 7, Batch: 260/757, Loss: 1.0481, Time: 4.76s
Epoch: 7, Batch: 270/757, Loss: 1.4195, Time: 4.77s
Epoch: 7, Batch: 280/757, Loss: 0.5418, Time: 4.77s
Epoch: 7, Batch: 290/757, Loss: 0.2711, Time: 4.75s
Epoch: 7, Batch: 300/757, Loss: 0.4881, Time: 4.76s
Epoch: 7, Batch: 310/757, Loss: 0.6858, Time: 4.77s
Epoch: 7, Batch: 320/757, Loss: 0.4167, Time: 4.76s
Epoch: 7, Batch: 330/757, Loss: 0.4871, Time: 4.77s
Epoch: 7, Batch: 340/757, Loss: 0.3816, Time: 4.77s
Epoch: 7, Batch: 350/757, Loss: 0.5283, Time: 4.76s
Epoch: 7, Batch: 360/757, Loss: 0.8637, Time: 4.77s
Epoch: 7, Batch: 370/757, Loss: 0.4810, Time: 4.76s
Epoch: 7, Batch: 380/757, Loss: 0.2589, Time: 4.76s
Epoch: 7, Batch: 390/757, Loss: 0.4637, Time: 4.76s
Epoch: 7, Batch: 400/757, Loss: 0.7449, Time: 4.76s
Epoch: 7, Batch: 410/757, Loss: 0.4510, Time: 4.77s
Epoch: 7, Batch: 420/757, Loss: 0.3775, Time: 4.77s
Epoch: 7, Batch: 430/757, Loss: 0.2962, Time: 4.76s
Epoch: 7, Batch: 440/757, Loss: 0.5094, Time: 4.77s
Epoch: 7, Batch: 450/757, Loss: 0.5706, Time: 4.77s
Epoch: 7, Batch: 460/757, Loss: 0.6249, Time: 4.77s
Epoch: 7, Batch: 470/757, Loss: 0.7427, Time: 4.77s
Epoch: 7, Batch: 480/757, Loss: 0.5383, Time: 4.77s
Epoch: 7, Batch: 490/757, Loss: 0.7270, Time: 4.77s
Epoch: 7, Batch: 500/757, Loss: 0.5682, Time: 4.77s
Epoch: 7, Batch: 510/757, Loss: 0.3378, Time: 4.77s
Epoch: 7, Batch: 520/757, Loss: 0.4694, Time: 4.78s
Epoch: 7, Batch: 530/757, Loss: 0.4145, Time: 4.78s
Epoch: 7, Batch: 540/757, Loss: 0.3081, Time: 4.77s
Epoch: 7, Batch: 550/757, Loss: 0.5910, Time: 4.78s
Epoch: 7, Batch: 560/757, Loss: 0.8589, Time: 4.77s
Epoch: 7, Batch: 570/757, Loss: 0.6880, Time: 4.77s
Epoch: 7, Batch: 580/757, Loss: 0.8790, Time: 4.77s
Epoch: 7, Batch: 590/757, Loss: 0.4845, Time: 4.77s
Epoch: 7, Batch: 600/757, Loss: 0.3195, Time: 4.77s
Epoch: 7, Batch: 610/757, Loss: 0.3662, Time: 4.76s
Epoch: 7, Batch: 620/757, Loss: 0.7964, Time: 4.77s
Epoch: 7, Batch: 630/757, Loss: 0.8406, Time: 4.76s
Epoch: 7, Batch: 640/757, Loss: 0.4906, Time: 4.77s
Epoch: 7, Batch: 650/757, Loss: 0.4535, Time: 4.76s
Epoch: 7, Batch: 660/757, Loss: 0.7009, Time: 4.76s
Epoch: 7, Batch: 670/757, Loss: 0.4227, Time: 4.76s
Epoch: 7, Batch: 680/757, Loss: 0.4174, Time: 4.76s
Epoch: 7, Batch: 690/757, Loss: 0.6852, Time: 4.76s
Epoch: 7, Batch: 700/757, Loss: 0.2897, Time: 4.76s
Epoch: 7, Batch: 710/757, Loss: 0.3016, Time: 4.75s
Epoch: 7, Batch: 720/757, Loss: 0.4465, Time: 4.76s
Epoch: 7, Batch: 730/757, Loss: 0.5089, Time: 4.76s
Epoch: 7, Batch: 740/757, Loss: 0.4395, Time: 4.75s
Epoch: 7, Batch: 750/757, Loss: 0.6072, Time: 4.76s
Epoch 8/20: Train Loss: 0.5602, Val Loss: 0.5441, Val IoU: 0.3194, Val Dice: 0.3573
Epoch: 8, Batch: 0/757, Loss: 0.3868, Time: 0.82s
Epoch: 8, Batch: 10/757, Loss: 0.2865, Time: 4.76s
Epoch: 8, Batch: 20/757, Loss: 0.5458, Time: 4.75s
Epoch: 8, Batch: 30/757, Loss: 0.4367, Time: 4.76s
Epoch: 8, Batch: 40/757, Loss: 0.6564, Time: 4.76s
Epoch: 8, Batch: 50/757, Loss: 0.3470, Time: 4.76s
Epoch: 8, Batch: 60/757, Loss: 0.3446, Time: 4.76s
Epoch: 8, Batch: 70/757, Loss: 0.7714, Time: 4.75s
Epoch: 8, Batch: 80/757, Loss: 0.7958, Time: 4.76s
Epoch: 8, Batch: 90/757, Loss: 0.3360, Time: 4.75s
Epoch: 8, Batch: 100/757, Loss: 0.4694, Time: 4.75s
Epoch: 8, Batch: 110/757, Loss: 0.5351, Time: 4.76s
Epoch: 8, Batch: 120/757, Loss: 0.8098, Time: 4.76s
Epoch: 8, Batch: 130/757, Loss: 0.3915, Time: 4.76s
Epoch: 8, Batch: 140/757, Loss: 0.6932, Time: 4.76s
Epoch: 8, Batch: 150/757, Loss: 0.4918, Time: 4.76s
Epoch: 8, Batch: 160/757, Loss: 0.3696, Time: 4.76s
Epoch: 8, Batch: 170/757, Loss: 0.5286, Time: 4.76s
Epoch: 8, Batch: 180/757, Loss: 0.4616, Time: 4.76s
Epoch: 8, Batch: 190/757, Loss: 0.3392, Time: 4.76s
Epoch: 8, Batch: 200/757, Loss: 0.2839, Time: 4.76s
Epoch: 8, Batch: 210/757, Loss: 0.3168, Time: 4.76s
Epoch: 8, Batch: 220/757, Loss: 0.5922, Time: 4.76s
Epoch: 8, Batch: 230/757, Loss: 0.3709, Time: 4.76s
Epoch: 8, Batch: 240/757, Loss: 0.4285, Time: 4.75s
Epoch: 8, Batch: 250/757, Loss: 0.9365, Time: 4.75s
Epoch: 8, Batch: 260/757, Loss: 0.3042, Time: 4.75s
Epoch: 8, Batch: 270/757, Loss: 0.6342, Time: 4.76s
Epoch: 8, Batch: 280/757, Loss: 0.5357, Time: 4.76s
Epoch: 8, Batch: 290/757, Loss: 0.6527, Time: 4.75s
Epoch: 8, Batch: 300/757, Loss: 0.6145, Time: 4.76s
Epoch: 8, Batch: 310/757, Loss: 0.5933, Time: 4.76s
Epoch: 8, Batch: 320/757, Loss: 0.5348, Time: 4.75s
Epoch: 8, Batch: 330/757, Loss: 0.7419, Time: 4.75s
Epoch: 8, Batch: 340/757, Loss: 0.4995, Time: 4.75s
Epoch: 8, Batch: 350/757, Loss: 0.5305, Time: 4.76s
Epoch: 8, Batch: 360/757, Loss: 0.2861, Time: 4.75s
Epoch: 8, Batch: 370/757, Loss: 0.6960, Time: 4.76s
Epoch: 8, Batch: 380/757, Loss: 0.5514, Time: 4.75s
Epoch: 8, Batch: 390/757, Loss: 1.1289, Time: 4.75s
Epoch: 8, Batch: 400/757, Loss: 0.5055, Time: 4.75s
Epoch: 8, Batch: 410/757, Loss: 0.4796, Time: 4.75s
Epoch: 8, Batch: 420/757, Loss: 0.8009, Time: 4.75s
Epoch: 8, Batch: 430/757, Loss: 0.6813, Time: 4.76s
Epoch: 8, Batch: 440/757, Loss: 0.6740, Time: 4.76s
Epoch: 8, Batch: 450/757, Loss: 0.7439, Time: 4.75s
Epoch: 8, Batch: 460/757, Loss: 0.4253, Time: 4.74s
Epoch: 8, Batch: 470/757, Loss: 0.7624, Time: 4.75s
Epoch: 8, Batch: 480/757, Loss: 0.3262, Time: 4.75s
Epoch: 8, Batch: 490/757, Loss: 0.5891, Time: 4.75s
Epoch: 8, Batch: 500/757, Loss: 0.4150, Time: 4.75s
Epoch: 8, Batch: 510/757, Loss: 0.7605, Time: 4.75s
Epoch: 8, Batch: 520/757, Loss: 0.6922, Time: 4.75s
Epoch: 8, Batch: 530/757, Loss: 0.7411, Time: 4.75s
Epoch: 8, Batch: 540/757, Loss: 0.5026, Time: 4.75s
Epoch: 8, Batch: 550/757, Loss: 0.4680, Time: 4.74s
Epoch: 8, Batch: 560/757, Loss: 0.3645, Time: 4.75s
Epoch: 8, Batch: 570/757, Loss: 0.3215, Time: 4.74s
Epoch: 8, Batch: 580/757, Loss: 0.3296, Time: 4.75s
Epoch: 8, Batch: 590/757, Loss: 0.3480, Time: 4.75s
Epoch: 8, Batch: 600/757, Loss: 1.0730, Time: 4.74s
Epoch: 8, Batch: 610/757, Loss: 0.7550, Time: 4.74s
Epoch: 8, Batch: 620/757, Loss: 0.2892, Time: 4.74s
Epoch: 8, Batch: 630/757, Loss: 0.3223, Time: 4.74s
Epoch: 8, Batch: 640/757, Loss: 0.4850, Time: 4.75s
Epoch: 8, Batch: 650/757, Loss: 0.5510, Time: 4.75s
Epoch: 8, Batch: 660/757, Loss: 0.7235, Time: 4.75s
Epoch: 8, Batch: 670/757, Loss: 0.5867, Time: 4.76s
Epoch: 8, Batch: 680/757, Loss: 0.5838, Time: 4.75s
Epoch: 8, Batch: 690/757, Loss: 0.5890, Time: 4.75s
Epoch: 8, Batch: 700/757, Loss: 0.3850, Time: 4.75s
Epoch: 8, Batch: 710/757, Loss: 0.3619, Time: 4.75s
Epoch: 8, Batch: 720/757, Loss: 0.7793, Time: 4.75s
Epoch: 8, Batch: 730/757, Loss: 0.2863, Time: 4.75s
Epoch: 8, Batch: 740/757, Loss: 0.4721, Time: 4.76s
Epoch: 8, Batch: 750/757, Loss: 0.5128, Time: 4.76s
Epoch 9/20: Train Loss: 0.5514, Val Loss: 0.6277, Val IoU: 0.3268, Val Dice: 0.3683
Epoch: 9, Batch: 0/757, Loss: 0.4566, Time: 0.86s
Epoch: 9, Batch: 10/757, Loss: 0.2563, Time: 4.74s
Epoch: 9, Batch: 20/757, Loss: 0.3855, Time: 4.73s
Epoch: 9, Batch: 30/757, Loss: 1.1399, Time: 4.73s
Epoch: 9, Batch: 40/757, Loss: 0.5954, Time: 4.73s
Epoch: 9, Batch: 50/757, Loss: 0.8147, Time: 4.73s
Epoch: 9, Batch: 60/757, Loss: 0.3863, Time: 4.73s
Epoch: 9, Batch: 70/757, Loss: 0.4843, Time: 4.73s
Epoch: 9, Batch: 80/757, Loss: 0.7824, Time: 4.73s
Epoch: 9, Batch: 90/757, Loss: 0.4750, Time: 4.74s
Epoch: 9, Batch: 100/757, Loss: 0.8625, Time: 4.74s
Epoch: 9, Batch: 110/757, Loss: 0.9204, Time: 4.74s
Epoch: 9, Batch: 120/757, Loss: 0.4026, Time: 4.75s
Epoch: 9, Batch: 130/757, Loss: 0.5753, Time: 4.74s
Epoch: 9, Batch: 140/757, Loss: 0.3721, Time: 4.75s
Epoch: 9, Batch: 150/757, Loss: 1.0693, Time: 4.75s
Epoch: 9, Batch: 160/757, Loss: 0.8737, Time: 4.75s
Epoch: 9, Batch: 170/757, Loss: 0.4910, Time: 4.75s
Epoch: 9, Batch: 180/757, Loss: 0.5364, Time: 4.75s
Epoch: 9, Batch: 190/757, Loss: 0.4325, Time: 4.75s
Epoch: 9, Batch: 200/757, Loss: 0.5491, Time: 4.76s
Epoch: 9, Batch: 210/757, Loss: 0.5551, Time: 4.75s
Epoch: 9, Batch: 220/757, Loss: 0.3001, Time: 4.75s
Epoch: 9, Batch: 230/757, Loss: 0.4316, Time: 4.74s
Epoch: 9, Batch: 240/757, Loss: 0.6573, Time: 4.74s
Epoch: 9, Batch: 250/757, Loss: 0.8299, Time: 4.74s
Epoch: 9, Batch: 260/757, Loss: 0.5130, Time: 4.74s
Epoch: 9, Batch: 270/757, Loss: 0.5151, Time: 4.74s
Epoch: 9, Batch: 280/757, Loss: 0.9298, Time: 4.73s
Epoch: 9, Batch: 290/757, Loss: 0.3831, Time: 4.73s
Epoch: 9, Batch: 300/757, Loss: 1.3051, Time: 4.73s
Epoch: 9, Batch: 310/757, Loss: 0.4325, Time: 4.73s
Epoch: 9, Batch: 320/757, Loss: 0.4671, Time: 4.73s
Epoch: 9, Batch: 330/757, Loss: 0.4807, Time: 4.73s
Epoch: 9, Batch: 340/757, Loss: 0.6159, Time: 4.73s
Epoch: 9, Batch: 350/757, Loss: 0.7449, Time: 4.73s
Epoch: 9, Batch: 360/757, Loss: 1.1293, Time: 4.73s
Epoch: 9, Batch: 370/757, Loss: 0.7798, Time: 4.73s
Epoch: 9, Batch: 380/757, Loss: 0.2912, Time: 4.74s
Epoch: 9, Batch: 390/757, Loss: 1.0740, Time: 4.74s
Epoch: 9, Batch: 400/757, Loss: 0.5289, Time: 4.74s
Epoch: 9, Batch: 410/757, Loss: 0.5621, Time: 4.75s
Epoch: 9, Batch: 420/757, Loss: 0.4504, Time: 4.75s
Epoch: 9, Batch: 430/757, Loss: 0.2517, Time: 4.75s
Epoch: 9, Batch: 440/757, Loss: 0.3759, Time: 4.75s
Epoch: 9, Batch: 450/757, Loss: 0.5703, Time: 4.74s
Epoch: 9, Batch: 460/757, Loss: 0.3714, Time: 4.75s
Epoch: 9, Batch: 470/757, Loss: 0.5667, Time: 4.75s
Epoch: 9, Batch: 480/757, Loss: 0.5174, Time: 4.74s
Epoch: 9, Batch: 490/757, Loss: 0.4274, Time: 4.74s
Epoch: 9, Batch: 500/757, Loss: 0.4091, Time: 4.75s
Epoch: 9, Batch: 510/757, Loss: 0.3374, Time: 4.75s
Epoch: 9, Batch: 520/757, Loss: 0.4921, Time: 4.75s
Epoch: 9, Batch: 530/757, Loss: 0.6236, Time: 4.74s
Epoch: 9, Batch: 540/757, Loss: 0.6591, Time: 4.75s
Epoch: 9, Batch: 550/757, Loss: 0.8462, Time: 4.74s
Epoch: 9, Batch: 560/757, Loss: 0.5659, Time: 4.75s
Epoch: 9, Batch: 570/757, Loss: 0.5174, Time: 4.74s
Epoch: 9, Batch: 580/757, Loss: 0.3815, Time: 4.74s
Epoch: 9, Batch: 590/757, Loss: 0.7845, Time: 4.74s
Epoch: 9, Batch: 600/757, Loss: 0.3550, Time: 4.74s
Epoch: 9, Batch: 610/757, Loss: 0.8640, Time: 4.73s
Epoch: 9, Batch: 620/757, Loss: 0.6665, Time: 4.74s
Epoch: 9, Batch: 630/757, Loss: 0.2825, Time: 4.74s
Epoch: 9, Batch: 640/757, Loss: 0.6247, Time: 4.73s
Epoch: 9, Batch: 650/757, Loss: 0.2500, Time: 4.74s
Epoch: 9, Batch: 660/757, Loss: 0.9750, Time: 4.74s
Epoch: 9, Batch: 670/757, Loss: 0.7879, Time: 4.73s
Epoch: 9, Batch: 680/757, Loss: 0.7807, Time: 4.74s
Epoch: 9, Batch: 690/757, Loss: 0.5543, Time: 4.74s
Epoch: 9, Batch: 700/757, Loss: 0.4894, Time: 4.74s
Epoch: 9, Batch: 710/757, Loss: 0.7026, Time: 4.73s
Epoch: 9, Batch: 720/757, Loss: 0.5908, Time: 4.74s
Epoch: 9, Batch: 730/757, Loss: 0.3084, Time: 4.74s
Epoch: 9, Batch: 740/757, Loss: 0.7142, Time: 4.74s
Epoch: 9, Batch: 750/757, Loss: 0.5736, Time: 4.74s
Epoch 10/20: Train Loss: 0.5484, Val Loss: 0.5434, Val IoU: 0.3292, Val Dice: 0.3684
Epoch: 10, Batch: 0/757, Loss: 0.6756, Time: 0.87s
Epoch: 10, Batch: 10/757, Loss: 0.4733, Time: 4.74s
Epoch: 10, Batch: 20/757, Loss: 0.6236, Time: 4.73s
Epoch: 10, Batch: 30/757, Loss: 0.5530, Time: 4.74s
Epoch: 10, Batch: 40/757, Loss: 0.4705, Time: 4.74s
Epoch: 10, Batch: 50/757, Loss: 0.2849, Time: 4.74s
Epoch: 10, Batch: 60/757, Loss: 0.5448, Time: 4.73s
Epoch: 10, Batch: 70/757, Loss: 0.8213, Time: 4.73s
Epoch: 10, Batch: 80/757, Loss: 0.9308, Time: 4.74s
Epoch: 10, Batch: 90/757, Loss: 0.6809, Time: 4.73s
Epoch: 10, Batch: 100/757, Loss: 0.2859, Time: 4.74s
Epoch: 10, Batch: 110/757, Loss: 0.3717, Time: 4.73s
Epoch: 10, Batch: 120/757, Loss: 0.3510, Time: 4.73s
Epoch: 10, Batch: 130/757, Loss: 0.4744, Time: 4.73s
Epoch: 10, Batch: 140/757, Loss: 0.3898, Time: 4.73s
Epoch: 10, Batch: 150/757, Loss: 0.3487, Time: 4.73s
Epoch: 10, Batch: 160/757, Loss: 0.8526, Time: 4.72s
Epoch: 10, Batch: 170/757, Loss: 0.4827, Time: 4.73s
Epoch: 10, Batch: 180/757, Loss: 1.2393, Time: 4.73s
Epoch: 10, Batch: 190/757, Loss: 0.7805, Time: 4.72s
Epoch: 10, Batch: 200/757, Loss: 0.4681, Time: 4.72s
Epoch: 10, Batch: 210/757, Loss: 0.6922, Time: 4.73s
Epoch: 10, Batch: 220/757, Loss: 0.8136, Time: 4.72s
Epoch: 10, Batch: 230/757, Loss: 0.5770, Time: 4.72s
Epoch: 10, Batch: 240/757, Loss: 0.5362, Time: 4.73s
Epoch: 10, Batch: 250/757, Loss: 0.4322, Time: 4.72s
Epoch: 10, Batch: 260/757, Loss: 0.2991, Time: 4.72s
Epoch: 10, Batch: 270/757, Loss: 1.1030, Time: 4.72s
Epoch: 10, Batch: 280/757, Loss: 0.4833, Time: 4.73s
Epoch: 10, Batch: 290/757, Loss: 0.5676, Time: 4.73s
Epoch: 10, Batch: 300/757, Loss: 0.7023, Time: 4.73s
Epoch: 10, Batch: 310/757, Loss: 0.6714, Time: 4.73s
Epoch: 10, Batch: 320/757, Loss: 0.5184, Time: 4.73s
Epoch: 10, Batch: 330/757, Loss: 0.6155, Time: 4.73s
Epoch: 10, Batch: 340/757, Loss: 0.4704, Time: 4.73s
Epoch: 10, Batch: 350/757, Loss: 0.6774, Time: 4.73s
Epoch: 10, Batch: 360/757, Loss: 0.6624, Time: 4.74s
Epoch: 10, Batch: 370/757, Loss: 0.6815, Time: 4.74s
Epoch: 10, Batch: 380/757, Loss: 0.5146, Time: 4.74s
Epoch: 10, Batch: 390/757, Loss: 0.6021, Time: 4.74s
Epoch: 10, Batch: 400/757, Loss: 0.6141, Time: 4.74s
Epoch: 10, Batch: 410/757, Loss: 0.4082, Time: 4.74s
Epoch: 10, Batch: 420/757, Loss: 0.4954, Time: 4.74s
Epoch: 10, Batch: 430/757, Loss: 0.3436, Time: 4.73s
Epoch: 10, Batch: 440/757, Loss: 0.7393, Time: 4.74s
Epoch: 10, Batch: 450/757, Loss: 1.0566, Time: 4.74s
Epoch: 10, Batch: 460/757, Loss: 0.7543, Time: 4.74s
Epoch: 10, Batch: 470/757, Loss: 0.7157, Time: 4.73s
Epoch: 10, Batch: 480/757, Loss: 0.3405, Time: 4.73s
Epoch: 10, Batch: 490/757, Loss: 0.5710, Time: 4.73s
Epoch: 10, Batch: 500/757, Loss: 0.6620, Time: 4.73s
Epoch: 10, Batch: 510/757, Loss: 0.6066, Time: 4.73s
Epoch: 10, Batch: 520/757, Loss: 0.4905, Time: 4.73s
Epoch: 10, Batch: 530/757, Loss: 0.6552, Time: 4.73s
Epoch: 10, Batch: 540/757, Loss: 0.5169, Time: 4.73s
Epoch: 10, Batch: 550/757, Loss: 0.5163, Time: 4.73s
Epoch: 10, Batch: 560/757, Loss: 0.6095, Time: 4.73s
Epoch: 10, Batch: 570/757, Loss: 0.4086, Time: 4.72s
Epoch: 10, Batch: 580/757, Loss: 0.5715, Time: 4.72s
Epoch: 10, Batch: 590/757, Loss: 0.5511, Time: 4.73s
Epoch: 10, Batch: 600/757, Loss: 0.6913, Time: 4.73s
Epoch: 10, Batch: 610/757, Loss: 0.7067, Time: 4.73s
Epoch: 10, Batch: 620/757, Loss: 0.6059, Time: 4.72s
Epoch: 10, Batch: 630/757, Loss: 0.3114, Time: 4.72s
Epoch: 10, Batch: 640/757, Loss: 0.5573, Time: 4.72s
Epoch: 10, Batch: 650/757, Loss: 0.4735, Time: 4.73s
Epoch: 10, Batch: 660/757, Loss: 0.6376, Time: 4.73s
Epoch: 10, Batch: 670/757, Loss: 0.4724, Time: 4.73s
Epoch: 10, Batch: 680/757, Loss: 0.3533, Time: 4.73s
Epoch: 10, Batch: 690/757, Loss: 0.5117, Time: 4.72s
Epoch: 10, Batch: 700/757, Loss: 0.3668, Time: 4.73s
Epoch: 10, Batch: 710/757, Loss: 0.4990, Time: 4.73s
Epoch: 10, Batch: 720/757, Loss: 0.5665, Time: 4.73s
Epoch: 10, Batch: 730/757, Loss: 0.3421, Time: 4.73s
Epoch: 10, Batch: 740/757, Loss: 0.5515, Time: 4.72s
Epoch: 10, Batch: 750/757, Loss: 0.5026, Time: 4.73s
Epoch 11/20: Train Loss: 0.5466, Val Loss: 0.5530, Val IoU: 0.3146, Val Dice: 0.3547
Epoch: 11, Batch: 0/757, Loss: 0.5463, Time: 0.85s
Epoch: 11, Batch: 10/757, Loss: 0.2064, Time: 4.73s
Epoch: 11, Batch: 20/757, Loss: 0.7656, Time: 4.73s
Epoch: 11, Batch: 30/757, Loss: 0.6483, Time: 4.73s
Epoch: 11, Batch: 40/757, Loss: 0.4202, Time: 4.73s
Epoch: 11, Batch: 50/757, Loss: 0.5992, Time: 4.73s
Epoch: 11, Batch: 60/757, Loss: 0.3061, Time: 4.73s
Epoch: 11, Batch: 70/757, Loss: 0.7999, Time: 4.73s
Epoch: 11, Batch: 80/757, Loss: 0.6193, Time: 4.74s
Epoch: 11, Batch: 90/757, Loss: 0.4750, Time: 4.74s
Epoch: 11, Batch: 100/757, Loss: 0.6364, Time: 4.73s
Epoch: 11, Batch: 110/757, Loss: 0.3119, Time: 4.73s
Epoch: 11, Batch: 120/757, Loss: 0.2563, Time: 4.73s
Epoch: 11, Batch: 130/757, Loss: 0.5267, Time: 4.73s
Epoch: 11, Batch: 140/757, Loss: 0.5181, Time: 4.72s
Epoch: 11, Batch: 150/757, Loss: 0.6639, Time: 4.73s
Epoch: 11, Batch: 160/757, Loss: 0.5773, Time: 4.72s
Epoch: 11, Batch: 170/757, Loss: 0.3519, Time: 4.72s
Epoch: 11, Batch: 180/757, Loss: 0.7060, Time: 4.72s
Epoch: 11, Batch: 190/757, Loss: 0.8662, Time: 4.72s
Epoch: 11, Batch: 200/757, Loss: 0.4242, Time: 4.72s
Epoch: 11, Batch: 210/757, Loss: 0.6512, Time: 4.72s
Epoch: 11, Batch: 220/757, Loss: 0.7330, Time: 4.72s
Epoch: 11, Batch: 230/757, Loss: 0.5546, Time: 4.73s
Epoch: 11, Batch: 240/757, Loss: 0.4962, Time: 4.73s
Epoch: 11, Batch: 250/757, Loss: 0.4806, Time: 4.73s
Epoch: 11, Batch: 260/757, Loss: 0.7626, Time: 4.72s
Epoch: 11, Batch: 270/757, Loss: 0.5030, Time: 4.73s
Epoch: 11, Batch: 280/757, Loss: 0.8481, Time: 4.73s
Epoch: 11, Batch: 290/757, Loss: 0.5521, Time: 4.73s
Epoch: 11, Batch: 300/757, Loss: 0.5095, Time: 4.73s
Epoch: 11, Batch: 310/757, Loss: 0.4663, Time: 4.73s
Epoch: 11, Batch: 320/757, Loss: 0.9861, Time: 4.73s
Epoch: 11, Batch: 330/757, Loss: 0.3980, Time: 4.74s
Epoch: 11, Batch: 340/757, Loss: 0.5050, Time: 4.73s
Epoch: 11, Batch: 350/757, Loss: 0.2477, Time: 4.74s
Epoch: 11, Batch: 360/757, Loss: 0.6794, Time: 4.74s
Epoch: 11, Batch: 370/757, Loss: 0.7125, Time: 4.74s
Epoch: 11, Batch: 380/757, Loss: 1.1754, Time: 4.74s
Epoch: 11, Batch: 390/757, Loss: 0.6146, Time: 4.74s
Epoch: 11, Batch: 400/757, Loss: 0.4079, Time: 4.74s
Epoch: 11, Batch: 410/757, Loss: 0.6135, Time: 4.74s
Epoch: 11, Batch: 420/757, Loss: 0.4809, Time: 4.74s
Epoch: 11, Batch: 430/757, Loss: 1.0944, Time: 4.74s
Epoch: 11, Batch: 440/757, Loss: 0.8810, Time: 4.74s
Epoch: 11, Batch: 450/757, Loss: 0.4464, Time: 4.74s
Epoch: 11, Batch: 460/757, Loss: 0.4880, Time: 4.74s
Epoch: 11, Batch: 470/757, Loss: 0.6428, Time: 4.74s
Epoch: 11, Batch: 480/757, Loss: 1.0033, Time: 4.73s
Epoch: 11, Batch: 490/757, Loss: 0.4687, Time: 4.73s
Epoch: 11, Batch: 500/757, Loss: 0.6524, Time: 4.74s
Epoch: 11, Batch: 510/757, Loss: 0.5403, Time: 4.74s
Epoch: 11, Batch: 520/757, Loss: 0.4680, Time: 4.74s
Epoch: 11, Batch: 530/757, Loss: 0.7459, Time: 4.73s
Epoch: 11, Batch: 540/757, Loss: 0.3653, Time: 4.74s
Epoch: 11, Batch: 550/757, Loss: 0.2888, Time: 4.74s
Epoch: 11, Batch: 560/757, Loss: 0.4404, Time: 4.74s
Epoch: 11, Batch: 570/757, Loss: 0.6740, Time: 4.73s
Epoch: 11, Batch: 580/757, Loss: 0.4040, Time: 4.73s
Epoch: 11, Batch: 590/757, Loss: 0.3068, Time: 4.73s
Epoch: 11, Batch: 600/757, Loss: 0.5687, Time: 4.73s
Epoch: 11, Batch: 610/757, Loss: 0.2646, Time: 4.73s
Epoch: 11, Batch: 620/757, Loss: 0.9064, Time: 4.73s
Epoch: 11, Batch: 630/757, Loss: 0.2676, Time: 4.74s
Epoch: 11, Batch: 640/757, Loss: 0.2803, Time: 4.73s
Epoch: 11, Batch: 650/757, Loss: 0.4380, Time: 4.73s
Epoch: 11, Batch: 660/757, Loss: 0.5429, Time: 4.73s
Epoch: 11, Batch: 670/757, Loss: 0.3283, Time: 4.74s
Epoch: 11, Batch: 680/757, Loss: 0.4375, Time: 4.73s
Epoch: 11, Batch: 690/757, Loss: 0.2874, Time: 4.73s
Epoch: 11, Batch: 700/757, Loss: 0.2605, Time: 4.74s
Epoch: 11, Batch: 710/757, Loss: 1.0611, Time: 4.74s
Epoch: 11, Batch: 720/757, Loss: 0.2269, Time: 4.74s
Epoch: 11, Batch: 730/757, Loss: 0.3829, Time: 4.74s
Epoch: 11, Batch: 740/757, Loss: 0.4017, Time: 4.74s
Epoch: 11, Batch: 750/757, Loss: 0.7437, Time: 4.74s
Epoch 12/20: Train Loss: 0.5462, Val Loss: 0.5196, Val IoU: 0.3409, Val Dice: 0.3806
Saving best model with IoU: 0.3409
Epoch: 12, Batch: 0/757, Loss: 0.6074, Time: 0.86s
Epoch: 12, Batch: 10/757, Loss: 0.4775, Time: 4.73s
Epoch: 12, Batch: 20/757, Loss: 0.4261, Time: 4.74s
Epoch: 12, Batch: 30/757, Loss: 0.5057, Time: 4.73s
Epoch: 12, Batch: 40/757, Loss: 0.3105, Time: 4.74s
Epoch: 12, Batch: 50/757, Loss: 0.4812, Time: 4.74s
Epoch: 12, Batch: 60/757, Loss: 0.9578, Time: 4.74s
Epoch: 12, Batch: 70/757, Loss: 0.3197, Time: 4.75s
Epoch: 12, Batch: 80/757, Loss: 0.5241, Time: 4.74s
Epoch: 12, Batch: 90/757, Loss: 0.5286, Time: 4.74s
Epoch: 12, Batch: 100/757, Loss: 0.5181, Time: 4.74s
Epoch: 12, Batch: 110/757, Loss: 0.7207, Time: 4.74s
Epoch: 12, Batch: 120/757, Loss: 0.6019, Time: 4.74s
Epoch: 12, Batch: 130/757, Loss: 0.8644, Time: 4.74s
Epoch: 12, Batch: 140/757, Loss: 0.4413, Time: 4.74s
Epoch: 12, Batch: 150/757, Loss: 0.8707, Time: 4.74s
Epoch: 12, Batch: 160/757, Loss: 0.3796, Time: 4.74s
Epoch: 12, Batch: 170/757, Loss: 0.4599, Time: 4.74s
Epoch: 12, Batch: 180/757, Loss: 0.3151, Time: 4.74s
Epoch: 12, Batch: 190/757, Loss: 0.5616, Time: 4.75s
Epoch: 12, Batch: 200/757, Loss: 0.9008, Time: 4.75s
Epoch: 12, Batch: 210/757, Loss: 0.7471, Time: 4.74s
Epoch: 12, Batch: 220/757, Loss: 0.3682, Time: 4.74s
Epoch: 12, Batch: 230/757, Loss: 0.5774, Time: 4.74s
Epoch: 12, Batch: 240/757, Loss: 0.5619, Time: 4.74s
Epoch: 12, Batch: 250/757, Loss: 0.4510, Time: 4.75s
Epoch: 12, Batch: 260/757, Loss: 0.4099, Time: 4.74s
Epoch: 12, Batch: 270/757, Loss: 0.4700, Time: 4.74s
Epoch: 12, Batch: 280/757, Loss: 0.9393, Time: 4.74s
Epoch: 12, Batch: 290/757, Loss: 0.6809, Time: 4.73s
Epoch: 12, Batch: 300/757, Loss: 0.3268, Time: 4.74s
Epoch: 12, Batch: 310/757, Loss: 0.4924, Time: 4.74s
Epoch: 12, Batch: 320/757, Loss: 0.3062, Time: 4.74s
Epoch: 12, Batch: 330/757, Loss: 0.4893, Time: 4.74s
Epoch: 12, Batch: 340/757, Loss: 0.3732, Time: 4.74s
Epoch: 12, Batch: 350/757, Loss: 0.3283, Time: 4.74s
Epoch: 12, Batch: 360/757, Loss: 0.5563, Time: 4.74s
Epoch: 12, Batch: 370/757, Loss: 0.3068, Time: 4.74s
Epoch: 12, Batch: 380/757, Loss: 0.2006, Time: 4.74s
Epoch: 12, Batch: 390/757, Loss: 0.8539, Time: 4.74s
Epoch: 12, Batch: 400/757, Loss: 0.5987, Time: 4.74s
Epoch: 12, Batch: 410/757, Loss: 0.3036, Time: 4.74s
Epoch: 12, Batch: 420/757, Loss: 0.4875, Time: 4.74s
Epoch: 12, Batch: 430/757, Loss: 1.0150, Time: 4.74s
Epoch: 12, Batch: 440/757, Loss: 0.5418, Time: 4.74s
Epoch: 12, Batch: 450/757, Loss: 0.7427, Time: 4.74s
Epoch: 12, Batch: 460/757, Loss: 0.5030, Time: 4.74s
Epoch: 12, Batch: 470/757, Loss: 0.3227, Time: 4.75s
Epoch: 12, Batch: 480/757, Loss: 0.9568, Time: 4.75s
Epoch: 12, Batch: 490/757, Loss: 0.9896, Time: 4.75s
Epoch: 12, Batch: 500/757, Loss: 0.4956, Time: 4.74s
Epoch: 12, Batch: 510/757, Loss: 0.5663, Time: 4.74s
Epoch: 12, Batch: 520/757, Loss: 0.2543, Time: 4.75s
Epoch: 12, Batch: 530/757, Loss: 0.5511, Time: 4.75s
Epoch: 12, Batch: 540/757, Loss: 0.3340, Time: 4.74s
Epoch: 12, Batch: 550/757, Loss: 0.5767, Time: 4.75s
Epoch: 12, Batch: 560/757, Loss: 0.3265, Time: 4.74s
Epoch: 12, Batch: 570/757, Loss: 0.4089, Time: 4.74s
Epoch: 12, Batch: 580/757, Loss: 0.4180, Time: 4.75s
Epoch: 12, Batch: 590/757, Loss: 0.8032, Time: 4.74s
Epoch: 12, Batch: 600/757, Loss: 0.3931, Time: 4.74s
Epoch: 12, Batch: 610/757, Loss: 0.4157, Time: 4.74s
Epoch: 12, Batch: 620/757, Loss: 0.4702, Time: 4.74s
Epoch: 12, Batch: 630/757, Loss: 0.5102, Time: 4.75s
Epoch: 12, Batch: 640/757, Loss: 0.3355, Time: 4.74s
Epoch: 12, Batch: 650/757, Loss: 0.5555, Time: 4.75s
Epoch: 12, Batch: 660/757, Loss: 0.5535, Time: 4.74s
Epoch: 12, Batch: 670/757, Loss: 0.5149, Time: 4.74s
Epoch: 12, Batch: 680/757, Loss: 0.5200, Time: 4.75s
Epoch: 12, Batch: 690/757, Loss: 0.8139, Time: 4.75s
Epoch: 12, Batch: 700/757, Loss: 0.5110, Time: 4.75s
Epoch: 12, Batch: 710/757, Loss: 0.5682, Time: 4.75s
Epoch: 12, Batch: 720/757, Loss: 0.4767, Time: 4.75s
Epoch: 12, Batch: 730/757, Loss: 0.2897, Time: 4.75s
Epoch: 12, Batch: 740/757, Loss: 0.6810, Time: 4.75s
Epoch: 12, Batch: 750/757, Loss: 0.2477, Time: 4.75s
Epoch 13/20: Train Loss: 0.5344, Val Loss: 0.5548, Val IoU: 0.3234, Val Dice: 0.3638
Epoch: 13, Batch: 0/757, Loss: 0.3312, Time: 0.83s
Epoch: 13, Batch: 10/757, Loss: 0.3518, Time: 4.74s
Epoch: 13, Batch: 20/757, Loss: 0.5675, Time: 4.74s
Epoch: 13, Batch: 30/757, Loss: 0.4674, Time: 4.74s
Epoch: 13, Batch: 40/757, Loss: 0.5691, Time: 4.73s
Epoch: 13, Batch: 50/757, Loss: 0.4730, Time: 4.73s
Epoch: 13, Batch: 60/757, Loss: 0.5181, Time: 4.73s
Epoch: 13, Batch: 70/757, Loss: 0.9085, Time: 4.74s
Epoch: 13, Batch: 80/757, Loss: 0.3244, Time: 4.74s
Epoch: 13, Batch: 90/757, Loss: 1.0515, Time: 4.74s
Epoch: 13, Batch: 100/757, Loss: 0.5731, Time: 4.74s
Epoch: 13, Batch: 110/757, Loss: 0.2698, Time: 4.73s
Epoch: 13, Batch: 120/757, Loss: 0.4800, Time: 4.73s
Epoch: 13, Batch: 130/757, Loss: 1.1101, Time: 4.73s
Epoch: 13, Batch: 140/757, Loss: 0.3583, Time: 4.73s
Epoch: 13, Batch: 150/757, Loss: 0.9263, Time: 4.73s
Epoch: 13, Batch: 160/757, Loss: 0.2718, Time: 4.73s
Epoch: 13, Batch: 170/757, Loss: 0.4479, Time: 4.74s
Epoch: 13, Batch: 180/757, Loss: 0.4093, Time: 4.73s
Epoch: 13, Batch: 190/757, Loss: 0.4853, Time: 4.73s
Epoch: 13, Batch: 200/757, Loss: 0.4726, Time: 4.74s
Epoch: 13, Batch: 210/757, Loss: 0.5380, Time: 4.73s
Epoch: 13, Batch: 220/757, Loss: 0.7040, Time: 4.74s
Epoch: 13, Batch: 230/757, Loss: 0.6230, Time: 4.73s
Epoch: 13, Batch: 240/757, Loss: 0.2969, Time: 4.74s
Epoch: 13, Batch: 250/757, Loss: 0.7507, Time: 4.74s
Epoch: 13, Batch: 260/757, Loss: 1.2451, Time: 4.74s
Epoch: 13, Batch: 270/757, Loss: 0.2513, Time: 4.74s
Epoch: 13, Batch: 280/757, Loss: 0.6283, Time: 4.73s
Epoch: 13, Batch: 290/757, Loss: 0.2711, Time: 4.74s
Epoch: 13, Batch: 300/757, Loss: 0.3314, Time: 4.74s
Epoch: 13, Batch: 310/757, Loss: 0.3001, Time: 4.73s
Epoch: 13, Batch: 320/757, Loss: 0.3091, Time: 4.74s
Epoch: 13, Batch: 330/757, Loss: 0.2348, Time: 4.74s
Epoch: 13, Batch: 340/757, Loss: 0.5272, Time: 4.74s
Epoch: 13, Batch: 350/757, Loss: 0.6281, Time: 4.74s
Epoch: 13, Batch: 360/757, Loss: 1.2637, Time: 4.75s
Epoch: 13, Batch: 370/757, Loss: 0.5856, Time: 4.74s
Epoch: 13, Batch: 380/757, Loss: 0.5249, Time: 4.74s
Epoch: 13, Batch: 390/757, Loss: 0.6309, Time: 4.74s
Epoch: 13, Batch: 400/757, Loss: 0.8167, Time: 4.74s
Epoch: 13, Batch: 410/757, Loss: 0.4053, Time: 4.75s
Epoch: 13, Batch: 420/757, Loss: 0.3836, Time: 4.74s
Epoch: 13, Batch: 430/757, Loss: 0.3942, Time: 4.74s
Epoch: 13, Batch: 440/757, Loss: 0.9115, Time: 4.74s
Epoch: 13, Batch: 450/757, Loss: 0.6008, Time: 4.74s
Epoch: 13, Batch: 460/757, Loss: 0.6198, Time: 4.75s
Epoch: 13, Batch: 470/757, Loss: 0.5223, Time: 4.75s
Epoch: 13, Batch: 480/757, Loss: 0.7156, Time: 4.74s
Epoch: 13, Batch: 490/757, Loss: 0.4157, Time: 4.75s
Epoch: 13, Batch: 500/757, Loss: 0.4937, Time: 4.75s
Epoch: 13, Batch: 510/757, Loss: 0.5553, Time: 4.74s
Epoch: 13, Batch: 520/757, Loss: 0.3708, Time: 4.73s
Epoch: 13, Batch: 530/757, Loss: 0.6236, Time: 4.74s
Epoch: 13, Batch: 540/757, Loss: 0.6960, Time: 4.74s
Epoch: 13, Batch: 550/757, Loss: 0.6697, Time: 4.74s
Epoch: 13, Batch: 560/757, Loss: 0.5854, Time: 4.74s
Epoch: 13, Batch: 570/757, Loss: 0.3066, Time: 4.74s
Epoch: 13, Batch: 580/757, Loss: 0.8670, Time: 4.73s
Epoch: 13, Batch: 590/757, Loss: 0.7833, Time: 4.73s
Epoch: 13, Batch: 600/757, Loss: 0.3810, Time: 4.73s
Epoch: 13, Batch: 610/757, Loss: 0.3759, Time: 4.73s
Epoch: 13, Batch: 620/757, Loss: 0.6532, Time: 4.73s
Epoch: 13, Batch: 630/757, Loss: 0.3772, Time: 4.73s
Epoch: 13, Batch: 640/757, Loss: 0.4803, Time: 4.73s
Epoch: 13, Batch: 650/757, Loss: 0.4744, Time: 4.73s
Epoch: 13, Batch: 660/757, Loss: 0.4951, Time: 4.73s
Epoch: 13, Batch: 670/757, Loss: 0.4715, Time: 4.73s
Epoch: 13, Batch: 680/757, Loss: 1.0591, Time: 4.74s
Epoch: 13, Batch: 690/757, Loss: 0.7246, Time: 4.73s
Epoch: 13, Batch: 700/757, Loss: 0.6236, Time: 4.74s
Epoch: 13, Batch: 710/757, Loss: 0.5593, Time: 4.73s
Epoch: 13, Batch: 720/757, Loss: 0.5035, Time: 4.73s
Epoch: 13, Batch: 730/757, Loss: 0.6273, Time: 4.74s
Epoch: 13, Batch: 740/757, Loss: 0.7505, Time: 4.73s
Epoch: 13, Batch: 750/757, Loss: 0.3566, Time: 4.73s
Epoch 14/20: Train Loss: 0.5308, Val Loss: 0.5783, Val IoU: 0.3292, Val Dice: 0.3684
Epoch: 14, Batch: 0/757, Loss: 1.0243, Time: 0.88s
Epoch: 14, Batch: 10/757, Loss: 0.5290, Time: 4.72s
Epoch: 14, Batch: 20/757, Loss: 0.2428, Time: 4.72s
Epoch: 14, Batch: 30/757, Loss: 0.7499, Time: 4.72s
Epoch: 14, Batch: 40/757, Loss: 0.5854, Time: 4.73s
Epoch: 14, Batch: 50/757, Loss: 0.3372, Time: 4.73s
Epoch: 14, Batch: 60/757, Loss: 0.4051, Time: 4.73s
Epoch: 14, Batch: 70/757, Loss: 0.6086, Time: 4.73s
Epoch: 14, Batch: 80/757, Loss: 0.6513, Time: 4.73s
Epoch: 14, Batch: 90/757, Loss: 0.6382, Time: 4.73s
Epoch: 14, Batch: 100/757, Loss: 0.2985, Time: 4.73s
Epoch: 14, Batch: 110/757, Loss: 0.2443, Time: 4.73s
Epoch: 14, Batch: 120/757, Loss: 0.3137, Time: 4.73s
Epoch: 14, Batch: 130/757, Loss: 0.4819, Time: 4.72s
Epoch: 14, Batch: 140/757, Loss: 0.5066, Time: 4.73s
Epoch: 14, Batch: 150/757, Loss: 0.5140, Time: 4.73s
Epoch: 14, Batch: 160/757, Loss: 0.4360, Time: 4.73s
Epoch: 14, Batch: 170/757, Loss: 0.5361, Time: 4.73s
Epoch: 14, Batch: 180/757, Loss: 0.7466, Time: 4.73s
Epoch: 14, Batch: 190/757, Loss: 0.6351, Time: 4.74s
Epoch: 14, Batch: 200/757, Loss: 0.4989, Time: 4.74s
Epoch: 14, Batch: 210/757, Loss: 0.5948, Time: 4.73s
Epoch: 14, Batch: 220/757, Loss: 0.6898, Time: 4.74s
Epoch: 14, Batch: 230/757, Loss: 0.4433, Time: 4.74s
Epoch: 14, Batch: 240/757, Loss: 0.8367, Time: 4.73s
Epoch: 14, Batch: 250/757, Loss: 0.6278, Time: 4.74s
Epoch: 14, Batch: 260/757, Loss: 0.4103, Time: 4.73s
Epoch: 14, Batch: 270/757, Loss: 0.5048, Time: 4.74s
Epoch: 14, Batch: 280/757, Loss: 0.2388, Time: 4.74s
Epoch: 14, Batch: 290/757, Loss: 1.0119, Time: 4.74s
Epoch: 14, Batch: 300/757, Loss: 0.5996, Time: 4.74s
Epoch: 14, Batch: 310/757, Loss: 1.1100, Time: 4.74s
Epoch: 14, Batch: 320/757, Loss: 0.4973, Time: 4.75s
Epoch: 14, Batch: 330/757, Loss: 0.6002, Time: 4.74s
Epoch: 14, Batch: 340/757, Loss: 0.3106, Time: 4.74s
Epoch: 14, Batch: 350/757, Loss: 0.7164, Time: 4.74s
Epoch: 14, Batch: 360/757, Loss: 1.3494, Time: 4.75s
Epoch: 14, Batch: 370/757, Loss: 0.8771, Time: 4.74s
Epoch: 14, Batch: 380/757, Loss: 0.4697, Time: 4.74s
Epoch: 14, Batch: 390/757, Loss: 0.7441, Time: 4.74s
Epoch: 14, Batch: 400/757, Loss: 0.3971, Time: 4.74s
Epoch: 14, Batch: 410/757, Loss: 0.5052, Time: 4.75s
Epoch: 14, Batch: 420/757, Loss: 0.7339, Time: 4.75s
Epoch: 14, Batch: 430/757, Loss: 0.5677, Time: 4.74s
Epoch: 14, Batch: 440/757, Loss: 0.5526, Time: 4.75s
Epoch: 14, Batch: 450/757, Loss: 0.4075, Time: 4.75s
Epoch: 14, Batch: 460/757, Loss: 0.5893, Time: 4.75s
Epoch: 14, Batch: 470/757, Loss: 0.2327, Time: 4.75s
Epoch: 14, Batch: 480/757, Loss: 0.2717, Time: 4.75s
Epoch: 14, Batch: 490/757, Loss: 0.4951, Time: 4.74s
Epoch: 14, Batch: 500/757, Loss: 0.4827, Time: 4.75s
Epoch: 14, Batch: 510/757, Loss: 0.3855, Time: 4.75s
Epoch: 14, Batch: 520/757, Loss: 0.3088, Time: 4.75s
Epoch: 14, Batch: 530/757, Loss: 0.7909, Time: 4.76s
Epoch: 14, Batch: 540/757, Loss: 0.3818, Time: 4.75s
Epoch: 14, Batch: 550/757, Loss: 0.5561, Time: 4.75s
Epoch: 14, Batch: 560/757, Loss: 0.6892, Time: 4.75s
Epoch: 14, Batch: 570/757, Loss: 0.4192, Time: 4.75s
Epoch: 14, Batch: 580/757, Loss: 0.3811, Time: 4.75s
Epoch: 14, Batch: 590/757, Loss: 0.6916, Time: 4.75s
Epoch: 14, Batch: 600/757, Loss: 0.9035, Time: 4.75s
Epoch: 14, Batch: 610/757, Loss: 0.2914, Time: 4.76s
Epoch: 14, Batch: 620/757, Loss: 0.3904, Time: 4.75s
Epoch: 14, Batch: 630/757, Loss: 0.4942, Time: 4.75s
Epoch: 14, Batch: 640/757, Loss: 0.4470, Time: 4.74s
Epoch: 14, Batch: 650/757, Loss: 0.4350, Time: 4.75s
Epoch: 14, Batch: 660/757, Loss: 0.2370, Time: 4.74s
Epoch: 14, Batch: 670/757, Loss: 0.2870, Time: 4.74s
Epoch: 14, Batch: 680/757, Loss: 0.4608, Time: 4.74s
Epoch: 14, Batch: 690/757, Loss: 0.4214, Time: 4.75s
Epoch: 14, Batch: 700/757, Loss: 0.5658, Time: 4.75s
Epoch: 14, Batch: 710/757, Loss: 0.4304, Time: 4.75s
Epoch: 14, Batch: 720/757, Loss: 0.5379, Time: 4.74s
Epoch: 14, Batch: 730/757, Loss: 0.5274, Time: 4.74s
Epoch: 14, Batch: 740/757, Loss: 0.5734, Time: 4.75s
Epoch: 14, Batch: 750/757, Loss: 0.6961, Time: 4.75s
Epoch 15/20: Train Loss: 0.5225, Val Loss: 0.5148, Val IoU: 0.3351, Val Dice: 0.3745
Epoch: 15, Batch: 0/757, Loss: 0.4426, Time: 0.82s
Epoch: 15, Batch: 10/757, Loss: 0.4591, Time: 4.73s
Epoch: 15, Batch: 20/757, Loss: 0.7569, Time: 4.73s
Epoch: 15, Batch: 30/757, Loss: 0.3982, Time: 4.74s
Epoch: 15, Batch: 40/757, Loss: 0.9817, Time: 4.73s
Epoch: 15, Batch: 50/757, Loss: 0.3612, Time: 4.73s
Epoch: 15, Batch: 60/757, Loss: 0.5820, Time: 4.73s
Epoch: 15, Batch: 70/757, Loss: 0.5443, Time: 4.73s
Epoch: 15, Batch: 80/757, Loss: 0.2916, Time: 4.73s
Epoch: 15, Batch: 90/757, Loss: 0.2754, Time: 4.73s
Epoch: 15, Batch: 100/757, Loss: 0.2841, Time: 4.73s
Epoch: 15, Batch: 110/757, Loss: 0.4504, Time: 4.74s
Epoch: 15, Batch: 120/757, Loss: 0.5560, Time: 4.73s
Epoch: 15, Batch: 130/757, Loss: 0.6363, Time: 4.73s
Epoch: 15, Batch: 140/757, Loss: 0.4693, Time: 4.74s
Epoch: 15, Batch: 150/757, Loss: 0.4755, Time: 4.74s
Epoch: 15, Batch: 160/757, Loss: 0.3279, Time: 4.73s
Epoch: 15, Batch: 170/757, Loss: 0.3851, Time: 4.73s
Epoch: 15, Batch: 180/757, Loss: 0.5118, Time: 4.74s
Epoch: 15, Batch: 190/757, Loss: 0.4291, Time: 4.74s
Epoch: 15, Batch: 200/757, Loss: 0.8899, Time: 4.74s
Epoch: 15, Batch: 210/757, Loss: 0.6855, Time: 4.74s
Epoch: 15, Batch: 220/757, Loss: 0.6454, Time: 4.74s
Epoch: 15, Batch: 230/757, Loss: 0.3111, Time: 4.75s
Epoch: 15, Batch: 240/757, Loss: 0.3974, Time: 4.75s
Epoch: 15, Batch: 250/757, Loss: 0.3639, Time: 4.75s
Epoch: 15, Batch: 260/757, Loss: 0.5263, Time: 4.75s
Epoch: 15, Batch: 270/757, Loss: 0.3690, Time: 4.75s
Epoch: 15, Batch: 280/757, Loss: 0.4421, Time: 4.76s
Epoch: 15, Batch: 290/757, Loss: 0.5102, Time: 4.75s
Epoch: 15, Batch: 300/757, Loss: 0.7447, Time: 4.75s
Epoch: 15, Batch: 310/757, Loss: 0.5337, Time: 4.75s
Epoch: 15, Batch: 320/757, Loss: 0.6762, Time: 4.75s
Epoch: 15, Batch: 330/757, Loss: 0.6490, Time: 4.75s
Epoch: 15, Batch: 340/757, Loss: 0.4278, Time: 4.75s
Epoch: 15, Batch: 350/757, Loss: 0.7589, Time: 4.75s
Epoch: 15, Batch: 360/757, Loss: 0.6920, Time: 4.75s
Epoch: 15, Batch: 370/757, Loss: 0.5425, Time: 4.74s
Epoch: 15, Batch: 380/757, Loss: 0.4721, Time: 4.75s
Epoch: 15, Batch: 390/757, Loss: 0.3366, Time: 4.74s
Epoch: 15, Batch: 400/757, Loss: 0.6290, Time: 4.76s
Epoch: 15, Batch: 410/757, Loss: 0.3800, Time: 4.75s
Epoch: 15, Batch: 420/757, Loss: 0.7153, Time: 4.75s
Epoch: 15, Batch: 430/757, Loss: 0.4438, Time: 4.75s
Epoch: 15, Batch: 440/757, Loss: 0.4862, Time: 4.75s
Epoch: 15, Batch: 450/757, Loss: 0.4298, Time: 4.76s
Epoch: 15, Batch: 460/757, Loss: 0.6545, Time: 4.75s
Epoch: 15, Batch: 470/757, Loss: 0.6694, Time: 4.76s
Epoch: 15, Batch: 480/757, Loss: 0.5922, Time: 4.75s
Epoch: 15, Batch: 490/757, Loss: 0.7740, Time: 4.76s
Epoch: 15, Batch: 500/757, Loss: 0.2832, Time: 4.75s
Epoch: 15, Batch: 510/757, Loss: 0.5081, Time: 4.75s
Epoch: 15, Batch: 520/757, Loss: 0.3058, Time: 4.75s
Epoch: 15, Batch: 530/757, Loss: 0.3687, Time: 4.75s
Epoch: 15, Batch: 540/757, Loss: 0.7631, Time: 4.75s
Epoch: 15, Batch: 550/757, Loss: 0.4568, Time: 4.75s
Epoch: 15, Batch: 560/757, Loss: 0.5073, Time: 4.75s
Epoch: 15, Batch: 570/757, Loss: 0.2106, Time: 4.76s
Epoch: 15, Batch: 580/757, Loss: 0.7476, Time: 4.76s
Epoch: 15, Batch: 590/757, Loss: 0.3841, Time: 4.75s
Epoch: 15, Batch: 600/757, Loss: 0.5782, Time: 4.75s
Epoch: 15, Batch: 610/757, Loss: 0.6566, Time: 4.75s
Epoch: 15, Batch: 620/757, Loss: 0.5964, Time: 4.75s
Epoch: 15, Batch: 630/757, Loss: 1.0600, Time: 4.75s
Epoch: 15, Batch: 640/757, Loss: 0.4587, Time: 4.75s
Epoch: 15, Batch: 650/757, Loss: 0.2971, Time: 4.75s
Epoch: 15, Batch: 660/757, Loss: 0.5749, Time: 4.76s
Epoch: 15, Batch: 670/757, Loss: 0.7520, Time: 4.75s
Epoch: 15, Batch: 680/757, Loss: 0.3674, Time: 4.75s
Epoch: 15, Batch: 690/757, Loss: 0.4576, Time: 4.75s
Epoch: 15, Batch: 700/757, Loss: 0.6250, Time: 4.75s
Epoch: 15, Batch: 710/757, Loss: 0.5991, Time: 4.74s
Epoch: 15, Batch: 720/757, Loss: 0.4182, Time: 4.75s
Epoch: 15, Batch: 730/757, Loss: 0.9671, Time: 4.75s
Epoch: 15, Batch: 740/757, Loss: 0.5218, Time: 4.75s
Epoch: 15, Batch: 750/757, Loss: 0.6652, Time: 4.74s
Epoch 16/20: Train Loss: 0.5205, Val Loss: 0.5376, Val IoU: 0.3238, Val Dice: 0.3618
Epoch: 16, Batch: 0/757, Loss: 0.3807, Time: 0.85s
Epoch: 16, Batch: 10/757, Loss: 0.3801, Time: 4.74s
Epoch: 16, Batch: 20/757, Loss: 0.3794, Time: 4.74s
Epoch: 16, Batch: 30/757, Loss: 0.4990, Time: 4.74s
Epoch: 16, Batch: 40/757, Loss: 0.4076, Time: 4.74s
Epoch: 16, Batch: 50/757, Loss: 0.3050, Time: 4.75s
Epoch: 16, Batch: 60/757, Loss: 0.9433, Time: 4.74s
Epoch: 16, Batch: 70/757, Loss: 0.6085, Time: 4.73s
Epoch: 16, Batch: 80/757, Loss: 0.7458, Time: 4.73s
Epoch: 16, Batch: 90/757, Loss: 0.4746, Time: 4.74s
Epoch: 16, Batch: 100/757, Loss: 0.5161, Time: 4.74s
Epoch: 16, Batch: 110/757, Loss: 0.4196, Time: 4.73s
Epoch: 16, Batch: 120/757, Loss: 0.3633, Time: 4.74s
Epoch: 16, Batch: 130/757, Loss: 0.4620, Time: 4.74s
Epoch: 16, Batch: 140/757, Loss: 0.3837, Time: 4.73s
Epoch: 16, Batch: 150/757, Loss: 0.4993, Time: 4.74s
Epoch: 16, Batch: 160/757, Loss: 0.4901, Time: 4.73s
Epoch: 16, Batch: 170/757, Loss: 0.7737, Time: 4.74s
Epoch: 16, Batch: 180/757, Loss: 0.6103, Time: 4.74s
Epoch: 16, Batch: 190/757, Loss: 0.7598, Time: 4.74s
Epoch: 16, Batch: 200/757, Loss: 0.4301, Time: 4.73s
Epoch: 16, Batch: 210/757, Loss: 0.6343, Time: 4.74s
Epoch: 16, Batch: 220/757, Loss: 0.2903, Time: 4.74s
Epoch: 16, Batch: 230/757, Loss: 0.3244, Time: 4.75s
Epoch: 16, Batch: 240/757, Loss: 0.2775, Time: 4.75s
Epoch: 16, Batch: 250/757, Loss: 0.3046, Time: 4.74s
Epoch: 16, Batch: 260/757, Loss: 0.3182, Time: 4.74s
Epoch: 16, Batch: 270/757, Loss: 1.3976, Time: 4.75s
Epoch: 16, Batch: 280/757, Loss: 0.6426, Time: 4.75s
Epoch: 16, Batch: 290/757, Loss: 0.5741, Time: 4.75s
Epoch: 16, Batch: 300/757, Loss: 0.5327, Time: 4.75s
Epoch: 16, Batch: 310/757, Loss: 0.4568, Time: 4.75s
Epoch: 16, Batch: 320/757, Loss: 0.6327, Time: 4.75s
Epoch: 16, Batch: 330/757, Loss: 0.3154, Time: 4.75s
Epoch: 16, Batch: 340/757, Loss: 0.7077, Time: 4.76s
Epoch: 16, Batch: 350/757, Loss: 0.5217, Time: 4.75s
Epoch: 16, Batch: 360/757, Loss: 0.6863, Time: 4.75s
Epoch: 16, Batch: 370/757, Loss: 0.4821, Time: 4.75s
Epoch: 16, Batch: 380/757, Loss: 0.4419, Time: 4.74s
Epoch: 16, Batch: 390/757, Loss: 0.3508, Time: 4.75s
Epoch: 16, Batch: 400/757, Loss: 0.5990, Time: 4.75s
Epoch: 16, Batch: 410/757, Loss: 0.4705, Time: 4.74s
Epoch: 16, Batch: 420/757, Loss: 0.4423, Time: 4.75s
Epoch: 16, Batch: 430/757, Loss: 0.2702, Time: 4.74s
Epoch: 16, Batch: 440/757, Loss: 0.4700, Time: 4.75s
Epoch: 16, Batch: 450/757, Loss: 0.3036, Time: 4.75s
Epoch: 16, Batch: 460/757, Loss: 0.4087, Time: 4.75s
Epoch: 16, Batch: 470/757, Loss: 0.3120, Time: 4.75s
Epoch: 16, Batch: 480/757, Loss: 0.2789, Time: 4.75s
Epoch: 16, Batch: 490/757, Loss: 0.8945, Time: 4.76s
Epoch: 16, Batch: 500/757, Loss: 0.6228, Time: 4.76s
Epoch: 16, Batch: 510/757, Loss: 0.2723, Time: 4.75s
Epoch: 16, Batch: 520/757, Loss: 0.4854, Time: 4.75s
Epoch: 16, Batch: 530/757, Loss: 0.3580, Time: 4.75s
Epoch: 16, Batch: 540/757, Loss: 0.6134, Time: 4.75s
Epoch: 16, Batch: 550/757, Loss: 0.5591, Time: 4.74s
Epoch: 16, Batch: 560/757, Loss: 0.5763, Time: 4.76s
Epoch: 16, Batch: 570/757, Loss: 0.5480, Time: 4.74s
Epoch: 16, Batch: 580/757, Loss: 1.5338, Time: 4.75s
Epoch: 16, Batch: 590/757, Loss: 0.5192, Time: 4.75s
Epoch: 16, Batch: 600/757, Loss: 0.4215, Time: 4.74s
Epoch: 16, Batch: 610/757, Loss: 0.4012, Time: 4.74s
Epoch: 16, Batch: 620/757, Loss: 0.4360, Time: 4.74s
Epoch: 16, Batch: 630/757, Loss: 0.4266, Time: 4.74s
Epoch: 16, Batch: 640/757, Loss: 0.6010, Time: 4.75s
Epoch: 16, Batch: 650/757, Loss: 0.3302, Time: 4.73s
Epoch: 16, Batch: 660/757, Loss: 0.2550, Time: 4.74s
Epoch: 16, Batch: 670/757, Loss: 0.3891, Time: 4.74s
Epoch: 16, Batch: 680/757, Loss: 0.6735, Time: 4.74s
Epoch: 16, Batch: 690/757, Loss: 0.6507, Time: 4.74s
Epoch: 16, Batch: 700/757, Loss: 0.4512, Time: 4.75s
Epoch: 16, Batch: 710/757, Loss: 0.7065, Time: 4.74s
Epoch: 16, Batch: 720/757, Loss: 0.3690, Time: 4.75s
Epoch: 16, Batch: 730/757, Loss: 0.3536, Time: 4.74s
Epoch: 16, Batch: 740/757, Loss: 0.4045, Time: 4.75s
Epoch: 16, Batch: 750/757, Loss: 0.2761, Time: 4.75s
Epoch 17/20: Train Loss: 0.5248, Val Loss: 0.5308, Val IoU: 0.3292, Val Dice: 0.3686
Epoch: 17, Batch: 0/757, Loss: 0.4489, Time: 0.85s
Epoch: 17, Batch: 10/757, Loss: 0.4763, Time: 4.74s
Epoch: 17, Batch: 20/757, Loss: 0.4543, Time: 4.75s
Epoch: 17, Batch: 30/757, Loss: 0.6253, Time: 4.74s
Epoch: 17, Batch: 40/757, Loss: 0.4566, Time: 4.75s
Epoch: 17, Batch: 50/757, Loss: 0.3746, Time: 4.76s
Epoch: 17, Batch: 60/757, Loss: 0.3573, Time: 4.75s
Epoch: 17, Batch: 70/757, Loss: 0.3924, Time: 4.75s
Epoch: 17, Batch: 80/757, Loss: 0.3131, Time: 4.75s
Epoch: 17, Batch: 90/757, Loss: 0.4208, Time: 4.75s
Epoch: 17, Batch: 100/757, Loss: 0.5949, Time: 4.75s
Epoch: 17, Batch: 110/757, Loss: 0.7057, Time: 4.74s
Epoch: 17, Batch: 120/757, Loss: 0.4382, Time: 4.75s
Epoch: 17, Batch: 130/757, Loss: 0.4537, Time: 4.75s
Epoch: 17, Batch: 140/757, Loss: 0.6235, Time: 4.74s
Epoch: 17, Batch: 150/757, Loss: 0.4294, Time: 4.75s
Epoch: 17, Batch: 160/757, Loss: 0.4518, Time: 4.75s
Epoch: 17, Batch: 170/757, Loss: 0.3411, Time: 4.74s
Epoch: 17, Batch: 180/757, Loss: 0.6058, Time: 4.75s
Epoch: 17, Batch: 190/757, Loss: 0.4478, Time: 4.75s
Epoch: 17, Batch: 200/757, Loss: 0.3661, Time: 4.75s
Epoch: 17, Batch: 210/757, Loss: 0.4447, Time: 4.75s
Epoch: 17, Batch: 220/757, Loss: 0.4595, Time: 4.74s
Epoch: 17, Batch: 230/757, Loss: 0.6429, Time: 4.75s
Epoch: 17, Batch: 240/757, Loss: 0.3993, Time: 4.75s
Epoch: 17, Batch: 250/757, Loss: 0.3789, Time: 4.74s
Epoch: 17, Batch: 260/757, Loss: 0.4924, Time: 4.75s
Epoch: 17, Batch: 270/757, Loss: 0.3432, Time: 4.74s
Epoch: 17, Batch: 280/757, Loss: 0.5317, Time: 4.74s
Epoch: 17, Batch: 290/757, Loss: 0.4503, Time: 4.74s
Epoch: 17, Batch: 300/757, Loss: 0.3256, Time: 4.74s
Epoch: 17, Batch: 310/757, Loss: 0.5543, Time: 4.74s
Epoch: 17, Batch: 320/757, Loss: 0.6276, Time: 4.74s
Epoch: 17, Batch: 330/757, Loss: 0.5756, Time: 4.74s
Epoch: 17, Batch: 340/757, Loss: 0.5981, Time: 4.74s
Epoch: 17, Batch: 350/757, Loss: 0.2950, Time: 4.75s
Epoch: 17, Batch: 360/757, Loss: 0.2898, Time: 4.75s
Epoch: 17, Batch: 370/757, Loss: 0.4999, Time: 4.74s
Epoch: 17, Batch: 380/757, Loss: 0.5688, Time: 4.75s
Epoch: 17, Batch: 390/757, Loss: 0.4921, Time: 4.75s
Epoch: 17, Batch: 400/757, Loss: 0.2757, Time: 4.75s
Epoch: 17, Batch: 410/757, Loss: 0.2856, Time: 4.75s
Epoch: 17, Batch: 420/757, Loss: 0.7913, Time: 4.74s
Epoch: 17, Batch: 430/757, Loss: 0.2419, Time: 4.74s
Epoch: 17, Batch: 440/757, Loss: 0.7583, Time: 4.75s
Epoch: 17, Batch: 450/757, Loss: 0.3879, Time: 4.74s
Epoch: 17, Batch: 460/757, Loss: 0.3664, Time: 4.74s
Epoch: 17, Batch: 470/757, Loss: 0.6035, Time: 4.75s
Epoch: 17, Batch: 480/757, Loss: 0.7734, Time: 4.73s
Epoch: 17, Batch: 490/757, Loss: 0.3970, Time: 4.75s
Epoch: 17, Batch: 500/757, Loss: 0.8216, Time: 4.74s
Epoch: 17, Batch: 510/757, Loss: 0.4504, Time: 4.74s
Epoch: 17, Batch: 520/757, Loss: 0.2849, Time: 4.75s
Epoch: 17, Batch: 530/757, Loss: 0.4946, Time: 4.75s
Epoch: 17, Batch: 540/757, Loss: 0.3382, Time: 4.74s
Epoch: 17, Batch: 550/757, Loss: 0.6216, Time: 4.74s
Epoch: 17, Batch: 560/757, Loss: 0.2918, Time: 4.74s
Epoch: 17, Batch: 570/757, Loss: 0.2423, Time: 4.74s
Epoch: 17, Batch: 580/757, Loss: 0.3271, Time: 4.75s
Epoch: 17, Batch: 590/757, Loss: 0.5647, Time: 4.75s
Epoch: 17, Batch: 600/757, Loss: 0.5450, Time: 4.74s
Epoch: 17, Batch: 610/757, Loss: 0.4455, Time: 4.75s
Epoch: 17, Batch: 620/757, Loss: 0.4594, Time: 4.75s
Epoch: 17, Batch: 630/757, Loss: 1.1767, Time: 4.75s
Epoch: 17, Batch: 640/757, Loss: 0.4733, Time: 4.74s
Epoch: 17, Batch: 650/757, Loss: 0.4326, Time: 4.75s
Epoch: 17, Batch: 660/757, Loss: 0.4212, Time: 4.74s
Epoch: 17, Batch: 670/757, Loss: 0.2413, Time: 4.73s
Epoch: 17, Batch: 680/757, Loss: 0.4710, Time: 4.74s
Epoch: 17, Batch: 690/757, Loss: 0.5658, Time: 4.74s
Epoch: 17, Batch: 700/757, Loss: 0.3678, Time: 4.74s
Epoch: 17, Batch: 710/757, Loss: 0.8054, Time: 4.74s
Epoch: 17, Batch: 720/757, Loss: 0.3096, Time: 4.73s
Epoch: 17, Batch: 730/757, Loss: 0.9174, Time: 4.74s
Epoch: 17, Batch: 740/757, Loss: 0.8401, Time: 4.74s
Epoch: 17, Batch: 750/757, Loss: 0.3652, Time: 4.74s
Epoch 18/20: Train Loss: 0.5180, Val Loss: 0.5489, Val IoU: 0.3194, Val Dice: 0.3600
Epoch: 18, Batch: 0/757, Loss: 0.2866, Time: 0.87s
Epoch: 18, Batch: 10/757, Loss: 0.5855, Time: 4.73s
Epoch: 18, Batch: 20/757, Loss: 0.4863, Time: 4.72s
Epoch: 18, Batch: 30/757, Loss: 0.8463, Time: 4.73s
Epoch: 18, Batch: 40/757, Loss: 0.3467, Time: 4.73s
Epoch: 18, Batch: 50/757, Loss: 0.6821, Time: 4.74s
Epoch: 18, Batch: 60/757, Loss: 0.6810, Time: 4.74s
Epoch: 18, Batch: 70/757, Loss: 0.5476, Time: 4.74s
Epoch: 18, Batch: 80/757, Loss: 0.3361, Time: 4.74s
Epoch: 18, Batch: 90/757, Loss: 1.0151, Time: 4.73s
Epoch: 18, Batch: 100/757, Loss: 0.6025, Time: 4.74s
Epoch: 18, Batch: 110/757, Loss: 0.6330, Time: 4.74s
Epoch: 18, Batch: 120/757, Loss: 0.4685, Time: 4.74s
Epoch: 18, Batch: 130/757, Loss: 0.3753, Time: 4.73s
Epoch: 18, Batch: 140/757, Loss: 0.5419, Time: 4.73s
Epoch: 18, Batch: 150/757, Loss: 0.5349, Time: 4.73s
Epoch: 18, Batch: 160/757, Loss: 0.2526, Time: 4.73s
Epoch: 18, Batch: 170/757, Loss: 0.3662, Time: 4.73s
Epoch: 18, Batch: 180/757, Loss: 0.2718, Time: 4.72s
Epoch: 18, Batch: 190/757, Loss: 0.5542, Time: 4.72s
Epoch: 18, Batch: 200/757, Loss: 0.4982, Time: 4.72s
Epoch: 18, Batch: 210/757, Loss: 0.5267, Time: 4.72s
Epoch: 18, Batch: 220/757, Loss: 0.3105, Time: 4.72s
Epoch: 18, Batch: 230/757, Loss: 0.3360, Time: 4.72s
Epoch: 18, Batch: 240/757, Loss: 0.4882, Time: 4.72s
Epoch: 18, Batch: 250/757, Loss: 0.3368, Time: 4.72s
Epoch: 18, Batch: 260/757, Loss: 0.2455, Time: 4.72s
Epoch: 18, Batch: 270/757, Loss: 0.5484, Time: 4.72s
Epoch: 18, Batch: 280/757, Loss: 0.4218, Time: 4.72s
Epoch: 18, Batch: 290/757, Loss: 0.6328, Time: 4.72s
Epoch: 18, Batch: 300/757, Loss: 0.5880, Time: 4.72s
Epoch: 18, Batch: 310/757, Loss: 0.3727, Time: 4.72s
Epoch: 18, Batch: 320/757, Loss: 0.4335, Time: 4.72s
Epoch: 18, Batch: 330/757, Loss: 0.4757, Time: 4.72s
Epoch: 18, Batch: 340/757, Loss: 0.5101, Time: 4.72s
Epoch: 18, Batch: 350/757, Loss: 0.2216, Time: 4.72s
Epoch: 18, Batch: 360/757, Loss: 0.5658, Time: 4.72s
Epoch: 18, Batch: 370/757, Loss: 0.2855, Time: 4.72s
Epoch: 18, Batch: 380/757, Loss: 0.3358, Time: 4.72s
Epoch: 18, Batch: 390/757, Loss: 0.6708, Time: 4.72s
Epoch: 18, Batch: 400/757, Loss: 0.4394, Time: 4.72s
Epoch: 18, Batch: 410/757, Loss: 0.3225, Time: 4.72s
Epoch: 18, Batch: 420/757, Loss: 0.5307, Time: 4.72s
Epoch: 18, Batch: 430/757, Loss: 0.5442, Time: 4.72s
Epoch: 18, Batch: 440/757, Loss: 0.5650, Time: 4.72s
Epoch: 18, Batch: 450/757, Loss: 0.3788, Time: 4.72s
Epoch: 18, Batch: 460/757, Loss: 0.9088, Time: 4.72s
Epoch: 18, Batch: 470/757, Loss: 0.4012, Time: 4.72s
Epoch: 18, Batch: 480/757, Loss: 0.4541, Time: 4.73s
Epoch: 18, Batch: 490/757, Loss: 0.6445, Time: 4.72s
Epoch: 18, Batch: 500/757, Loss: 1.0317, Time: 4.72s
Epoch: 18, Batch: 510/757, Loss: 0.4674, Time: 4.72s
Epoch: 18, Batch: 520/757, Loss: 0.6170, Time: 4.72s
Epoch: 18, Batch: 530/757, Loss: 0.3482, Time: 4.72s
Epoch: 18, Batch: 540/757, Loss: 0.5334, Time: 4.72s
Epoch: 18, Batch: 550/757, Loss: 0.5370, Time: 4.73s
Epoch: 18, Batch: 560/757, Loss: 0.5940, Time: 4.72s
Epoch: 18, Batch: 570/757, Loss: 0.2794, Time: 4.72s
Epoch: 18, Batch: 580/757, Loss: 0.2608, Time: 4.73s
Epoch: 18, Batch: 590/757, Loss: 0.4431, Time: 4.73s
Epoch: 18, Batch: 600/757, Loss: 0.5482, Time: 4.73s
Epoch: 18, Batch: 610/757, Loss: 0.6433, Time: 4.73s
Epoch: 18, Batch: 620/757, Loss: 0.7358, Time: 4.73s
Epoch: 18, Batch: 630/757, Loss: 0.3550, Time: 4.73s
Epoch: 18, Batch: 640/757, Loss: 0.4309, Time: 4.74s
Epoch: 18, Batch: 650/757, Loss: 0.2184, Time: 4.73s
Epoch: 18, Batch: 660/757, Loss: 0.4445, Time: 4.73s
Epoch: 18, Batch: 670/757, Loss: 0.3702, Time: 4.74s
Epoch: 18, Batch: 680/757, Loss: 0.4239, Time: 4.74s
Epoch: 18, Batch: 690/757, Loss: 0.5641, Time: 4.73s
Epoch: 18, Batch: 700/757, Loss: 0.4172, Time: 4.74s
Epoch: 18, Batch: 710/757, Loss: 0.5575, Time: 4.75s
Epoch: 18, Batch: 720/757, Loss: 0.4137, Time: 4.75s
Epoch: 18, Batch: 730/757, Loss: 0.2484, Time: 4.74s
Epoch: 18, Batch: 740/757, Loss: 0.4489, Time: 4.74s
Epoch: 18, Batch: 750/757, Loss: 0.8791, Time: 4.74s
Epoch 19/20: Train Loss: 0.5135, Val Loss: 0.5296, Val IoU: 0.3339, Val Dice: 0.3729
Epoch: 19, Batch: 0/757, Loss: 0.3265, Time: 0.85s
Epoch: 19, Batch: 10/757, Loss: 0.4323, Time: 4.74s
Epoch: 19, Batch: 20/757, Loss: 0.3994, Time: 4.73s
Epoch: 19, Batch: 30/757, Loss: 0.5520, Time: 4.74s
Epoch: 19, Batch: 40/757, Loss: 0.2722, Time: 4.74s
Epoch: 19, Batch: 50/757, Loss: 0.5104, Time: 4.74s
Epoch: 19, Batch: 60/757, Loss: 0.2289, Time: 4.74s
Epoch: 19, Batch: 70/757, Loss: 0.5780, Time: 4.74s
Epoch: 19, Batch: 80/757, Loss: 0.5517, Time: 4.73s
Epoch: 19, Batch: 90/757, Loss: 0.4730, Time: 4.73s
Epoch: 19, Batch: 100/757, Loss: 0.4313, Time: 4.73s
Epoch: 19, Batch: 110/757, Loss: 0.6655, Time: 4.74s
Epoch: 19, Batch: 120/757, Loss: 0.9113, Time: 4.74s
Epoch: 19, Batch: 130/757, Loss: 0.3427, Time: 4.74s
Epoch: 19, Batch: 140/757, Loss: 0.4250, Time: 4.73s
Epoch: 19, Batch: 150/757, Loss: 0.2361, Time: 4.74s
Epoch: 19, Batch: 160/757, Loss: 0.6210, Time: 4.74s
Epoch: 19, Batch: 170/757, Loss: 0.3330, Time: 4.75s
Epoch: 19, Batch: 180/757, Loss: 0.3690, Time: 4.74s
Epoch: 19, Batch: 190/757, Loss: 0.4303, Time: 4.74s
Epoch: 19, Batch: 200/757, Loss: 0.3089, Time: 4.74s
Epoch: 19, Batch: 210/757, Loss: 0.2922, Time: 4.74s
Epoch: 19, Batch: 220/757, Loss: 0.3937, Time: 4.74s
Epoch: 19, Batch: 230/757, Loss: 0.6347, Time: 4.74s
Epoch: 19, Batch: 240/757, Loss: 0.6557, Time: 4.74s
Epoch: 19, Batch: 250/757, Loss: 0.3366, Time: 4.74s
Epoch: 19, Batch: 260/757, Loss: 0.7007, Time: 4.74s
Epoch: 19, Batch: 270/757, Loss: 0.8020, Time: 4.75s
Epoch: 19, Batch: 280/757, Loss: 0.5624, Time: 4.74s
Epoch: 19, Batch: 290/757, Loss: 0.4627, Time: 4.74s
Epoch: 19, Batch: 300/757, Loss: 0.4268, Time: 4.74s
Epoch: 19, Batch: 310/757, Loss: 0.3433, Time: 4.73s
Epoch: 19, Batch: 320/757, Loss: 0.3966, Time: 4.74s
Epoch: 19, Batch: 330/757, Loss: 0.3949, Time: 4.74s
Epoch: 19, Batch: 340/757, Loss: 0.4771, Time: 4.74s
Epoch: 19, Batch: 350/757, Loss: 0.4745, Time: 4.75s
Epoch: 19, Batch: 360/757, Loss: 0.4077, Time: 4.73s
Epoch: 19, Batch: 370/757, Loss: 0.4312, Time: 4.74s
Epoch: 19, Batch: 380/757, Loss: 0.5451, Time: 4.73s
Epoch: 19, Batch: 390/757, Loss: 0.2995, Time: 4.74s
Epoch: 19, Batch: 400/757, Loss: 0.3973, Time: 4.74s
Epoch: 19, Batch: 410/757, Loss: 0.7510, Time: 4.73s
Epoch: 19, Batch: 420/757, Loss: 0.4580, Time: 4.73s
Epoch: 19, Batch: 430/757, Loss: 0.4723, Time: 4.73s
Epoch: 19, Batch: 440/757, Loss: 0.8047, Time: 4.74s
Epoch: 19, Batch: 450/757, Loss: 0.4188, Time: 4.75s
Epoch: 19, Batch: 460/757, Loss: 0.6062, Time: 4.74s
Epoch: 19, Batch: 470/757, Loss: 0.5510, Time: 4.74s
Epoch: 19, Batch: 480/757, Loss: 0.8917, Time: 4.74s
Epoch: 19, Batch: 490/757, Loss: 0.3950, Time: 4.75s
Epoch: 19, Batch: 500/757, Loss: 0.3659, Time: 4.75s
Epoch: 19, Batch: 510/757, Loss: 0.4640, Time: 4.74s
Epoch: 19, Batch: 520/757, Loss: 1.4742, Time: 4.74s
Epoch: 19, Batch: 530/757, Loss: 0.4507, Time: 4.75s
Epoch: 19, Batch: 540/757, Loss: 0.3166, Time: 4.76s
Epoch: 19, Batch: 550/757, Loss: 0.4015, Time: 4.75s
Epoch: 19, Batch: 560/757, Loss: 0.4535, Time: 4.76s
Epoch: 19, Batch: 570/757, Loss: 0.3919, Time: 4.76s
Epoch: 19, Batch: 580/757, Loss: 0.6242, Time: 4.76s
Epoch: 19, Batch: 590/757, Loss: 0.2898, Time: 4.75s
Epoch: 19, Batch: 600/757, Loss: 0.4394, Time: 4.76s
Epoch: 19, Batch: 610/757, Loss: 0.3210, Time: 4.75s
Epoch: 19, Batch: 620/757, Loss: 0.5536, Time: 4.75s
Epoch: 19, Batch: 630/757, Loss: 0.3506, Time: 4.75s
Epoch: 19, Batch: 640/757, Loss: 0.5930, Time: 4.76s
Epoch: 19, Batch: 650/757, Loss: 0.4764, Time: 4.76s
Epoch: 19, Batch: 660/757, Loss: 0.4275, Time: 4.75s
Epoch: 19, Batch: 670/757, Loss: 0.4602, Time: 4.76s
Epoch: 19, Batch: 680/757, Loss: 0.3632, Time: 4.76s
Epoch: 19, Batch: 690/757, Loss: 0.6236, Time: 4.76s
Epoch: 19, Batch: 700/757, Loss: 0.3257, Time: 4.75s
Epoch: 19, Batch: 710/757, Loss: 0.5709, Time: 4.75s
Epoch: 19, Batch: 720/757, Loss: 0.3961, Time: 4.75s
Epoch: 19, Batch: 730/757, Loss: 0.6074, Time: 4.75s
Epoch: 19, Batch: 740/757, Loss: 0.2825, Time: 4.75s
Epoch: 19, Batch: 750/757, Loss: 0.5569, Time: 4.75s
Epoch 20/20: Train Loss: 0.5218, Val Loss: 0.5014, Val IoU: 0.3303, Val Dice: 0.3693
Training complete! Best IoU: 0.3409
Models saved to /content/tiles/unet_models
Training curves saved to /content/tiles/unet_models/training_curves.png

We can check the Loss, IoU and Dice Score metrics:

In [ ]:
geoai.plot_performance_metrics(
    history_path=f"{out_folder}/unet_models/training_history.pth",
    figsize=(15, 5),
    verbose=True,
)
No description has been provided for this image
Best IoU: 0.3409
Best Dice: 0.3806
Final IoU: 0.3303
Final Dice: 0.3693

Then we apply the trained model to a test image:

In [ ]:
test_raster_path = '/content/drive/MyDrive/Datasets/Naip_chesapeak/naip_images/m_3807511_se_18_060_20181104.tif'
masks_path = "naip_test_semantic_prediction.tif"
model_path = f"{out_folder}/unet_models/best_model.pth"
In [ ]:
geoai.semantic_segmentation(
    input_path=test_raster_path,
    output_path=masks_path,
    model_path=model_path,
    architecture="unet",
    encoder_name="resnet34",
    num_channels=4,
    num_classes=13,
    window_size=512,
    overlap=256,
    batch_size=4,
)
Input file format: GeoTIFF (.tif)
Processing 1911 windows...
2000it [01:21, 24.50it/s]
Predicted classes: 7 classes, Background: 0.0%
Inference completed in 152.65 seconds
Saved prediction to naip_test_semantic_prediction.tif

We visualize the result:

In [ ]:
geoai.write_colormap(masks_path, train_mask, output=masks_path)
In [ ]:
m = leafmap.Map()
m.add_raster(masks_path, cmap='inferno', layer_name="Mask")
m
Map(center=[38.7814955, -75.6560255], controls=(ZoomControl(options=['position', 'zoom_in_text', 'zoom_in_titl…